PR21529, internal error in linker.c
authorAlan Modra <amodra@gmail.com>
Mon, 5 Jun 2017 01:32:42 +0000 (11:02 +0930)
committerAlan Modra <amodra@gmail.com>
Mon, 5 Jun 2017 05:49:36 +0000 (15:19 +0930)
PR 21529
* linker.c (_bfd_generic_link_output_symbols): Handle BSF_GNU_UNIQUE.

bfd/ChangeLog
bfd/linker.c

index 27a1e8c9954daadc05ad1c5a29d4f63ece7e416d..f4a6afa8d390f5aacd1204ab855923d2fb611f8c 100644 (file)
@@ -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-06-01  John Baldwin  <jhb@FreeBSD.org>
 
        * elf.c (elfcore_grok_freebsd_psinfo): Use ELF header class to
index 9861259ad9bc9e2e3ed0b1f21a8c9a837f083864..f94d2f8f9e386faaa2ed29fb2eb8e7a8540af470 100644 (file)
@@ -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