From 4ce6792ba082ad2df848b0ceda5bb1dff6b59499 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Tue, 24 Mar 2015 15:46:50 +1030 Subject: [PATCH] PR18147, relocation overflow when --unresolved-symbols=ignore-all If ignoring unresolved symbols, ignore reloc overflows too. If not ignoring unresolved symbols we will report an error about the symbol being undefined, making any report about reloc overflow superfluous. PR18147 * powerpc.cc (Target_powerpc::Relocate::relocate): Don't report relocation errors for branches to strong undefined symbols. --- gold/ChangeLog | 8 ++++++++ gold/powerpc.cc | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/gold/ChangeLog b/gold/ChangeLog index 90c3aa75e09..b2225e0b085 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,3 +1,11 @@ +2015-06-05 Alan Modra + + Apply from master + 2015-03-24 Alan Modra + PR 18147 + * powerpc.cc (Target_powerpc::Relocate::relocate): Don't report + relocation errors for branches to strong undefined symbols. + 2015-03-18 Alan Modra Apply from master diff --git a/gold/powerpc.cc b/gold/powerpc.cc index 93f2fcccba9..e7f35540138 100644 --- a/gold/powerpc.cc +++ b/gold/powerpc.cc @@ -7713,7 +7713,7 @@ Target_powerpc::Relocate::relocate( if (status != Powerpc_relocate_functions::STATUS_OK && (has_stub_value || !(gsym != NULL - && gsym->is_weak_undefined() + && gsym->is_undefined() && is_branch_reloc(r_type)))) { gold_error_at_location(relinfo, relnum, rela.get_r_offset(), -- 2.47.2