[binutils-gdb/binutils-2_25-branch] PR18147, relocation overflow when --unresolved-symbols=ignore-all

Alan Modra amodra@sourceware.org
Fri Jun 5 14:57:00 GMT 2015


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

commit f64cce87d52a6a8a624a284026cb876783adfc10
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  | 8 ++++++++
 gold/powerpc.cc | 2 +-
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/gold/ChangeLog b/gold/ChangeLog
index 90c3aa7..b2225e0 100644
--- a/gold/ChangeLog
+++ b/gold/ChangeLog
@@ -1,3 +1,11 @@
+2015-06-05  Alan Modra  <amodra@gmail.com>
+
+	Apply from master
+	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-18  Alan Modra  <amodra@gmail.com>
 
 	Apply from master
diff --git a/gold/powerpc.cc b/gold/powerpc.cc
index 93f2fcc..e7f3554 100644
--- a/gold/powerpc.cc
+++ b/gold/powerpc.cc
@@ -7713,7 +7713,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