[binutils-gdb/binutils-2_28-branch] PR21529, internal error in linker.c

Alan Modra amodra@sourceware.org
Mon Jun 5 08:26:00 GMT 2017


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

commit dfa8a3425800c868052808d4237a2c6f80e5b204
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Jun 5 11:02:42 2017 +0930

    PR21529, internal error in linker.c
    
    	PR 21529
    	* linker.c (_bfd_generic_link_output_symbols): Handle BSF_GNU_UNIQUE.

Diff:
---
 bfd/ChangeLog | 5 +++++
 bfd/linker.c  | 2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 903c645..50fbe3a 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2017-06-05  Alan Modra  <amodra@gmail.com>
+
+	PR 21529
+	* linker.c (_bfd_generic_link_output_symbols): Handle BSF_GNU_UNIQUE.
+
 2017-05-01  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
 
 	PR ld/21404
diff --git a/bfd/linker.c b/bfd/linker.c
index 12c9fb0..c3ec4fe 100644
--- a/bfd/linker.c
+++ b/bfd/linker.c
@@ -2091,7 +2091,7 @@ _bfd_generic_link_output_symbols (bfd *output_bfd,
 	      && bfd_hash_lookup (info->keep_hash, bfd_asymbol_name (sym),
 				  FALSE, FALSE) == NULL))
 	output = FALSE;
-      else if ((sym->flags & (BSF_GLOBAL | BSF_WEAK)) != 0)
+      else if ((sym->flags & (BSF_GLOBAL | BSF_WEAK | BSF_GNU_UNIQUE)) != 0)
 	{
 	  /* If this symbol is marked as occurring now, rather
 	     than at the end, output it now.  This is used for



More information about the Binutils-cvs mailing list