From 282c9750306eb544f65cfed5665eee2b84c7c770 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 | 6 ++++++ gold/powerpc.cc | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/gold/ChangeLog b/gold/ChangeLog index 600802d..f970e66 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,3 +1,9 @@ +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-23 Rafael Ávila de Espíndola * merge.cc (Object_merge_map::get_input_merge_map): Make it const. diff --git a/gold/powerpc.cc b/gold/powerpc.cc index d9a61ad..47bdc13 100644 --- a/gold/powerpc.cc +++ b/gold/powerpc.cc @@ -7792,7 +7792,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.7.4