[binutils-gdb] PR18147, relocation overflow when --unresolved-symbols=ignore-all

Alan Modra amodra@sourceware.org
Tue Mar 24 06:42:00 GMT 2015


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=282c9750306eb544f65cfed5665eee2b84c7c770

commit 282c9750306eb544f65cfed5665eee2b84c7c770
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Mar 24 15:46:50 2015 +1030

    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.

Diff:
---
 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  <amodra@gmail.com>
+
+	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 <rafael.espindola@gmail.com>
 
 	* 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<size, big_endian>::Relocate::relocate(
   if (status != Powerpc_relocate_functions<size, big_endian>::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(),



More information about the Binutils-cvs mailing list