aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2013-12-14 13:10:04 +1030
committerAlan Modra <amodra@gmail.com>2013-12-14 13:14:03 +1030
commit57fa7b8c7e59e35bced580f9bcb9668af43fdbce (patch)
tree6eb27ed56f3a5a6b3a7d67137b8894367e20d119 /bfd
parent08159f13a2ea352c05ccc9f9028668f8cd689596 (diff)
downloadgdb-57fa7b8c7e59e35bced580f9bcb9668af43fdbce.zip
gdb-57fa7b8c7e59e35bced580f9bcb9668af43fdbce.tar.gz
gdb-57fa7b8c7e59e35bced580f9bcb9668af43fdbce.tar.bz2
Correct elf_merge_st_other arguments for weak symbols
* elflink.c (_bfd_elf_merge_symbol): If merging a new weak symbol that will be skipped, we don't have a new definition.
Diffstat (limited to 'bfd')
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/elflink.c5
2 files changed, 9 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index ce6fc95..60d6e0c 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2013-12-14 Alan Modra <amodra@gmail.com>
+
+ * elflink.c (_bfd_elf_merge_symbol): If merging a new weak
+ symbol that will be skipped, we don't have a new definition.
+
2013-12-13 Kuan-Lin Chen <kuanlinchentw@gmail.com>
Wei-Cheng Wang <cole945@gmail.com>
diff --git a/bfd/elflink.c b/bfd/elflink.c
index 6fa62f9..7dcafd6 100644
--- a/bfd/elflink.c
+++ b/bfd/elflink.c
@@ -1437,7 +1437,10 @@ _bfd_elf_merge_symbol (bfd *abfd,
if (!(oldbfd != NULL
&& (oldbfd->flags & BFD_PLUGIN) != 0
&& (abfd->flags & BFD_PLUGIN) == 0))
- *skip = TRUE;
+ {
+ newdef = FALSE;
+ *skip = TRUE;
+ }
/* Merge st_other. If the symbol already has a dynamic index,
but visibility says it should not be visible, turn it into a