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 600802db46c..f970e66459a 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 d9a61ad0af7..47bdc136e64 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.30.2