aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2017-06-05 11:02:42 +0930
committerAlan Modra <amodra@gmail.com>2017-06-05 15:19:36 +0930
commitaf54f0eb968ba8cb3862fd3cad097a3f3363467b (patch)
tree5980ada611d15c57560fca3118d14d10a3adde25
parent91001320a22466d1580e169bcb023d3b822226b4 (diff)
downloadgdb-af54f0eb968ba8cb3862fd3cad097a3f3363467b.zip
gdb-af54f0eb968ba8cb3862fd3cad097a3f3363467b.tar.gz
gdb-af54f0eb968ba8cb3862fd3cad097a3f3363467b.tar.bz2
PR21529, internal error in linker.c
PR 21529 * linker.c (_bfd_generic_link_output_symbols): Handle BSF_GNU_UNIQUE.
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/linker.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 27a1e8c..f4a6afa 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-06-01 John Baldwin <jhb@FreeBSD.org>
* elf.c (elfcore_grok_freebsd_psinfo): Use ELF header class to
diff --git a/bfd/linker.c b/bfd/linker.c
index 9861259..f94d2f8 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