summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@bigpond.net.au>2011-11-08 13:50:26 +0000
committerAlan Modra <amodra@bigpond.net.au>2011-11-08 13:50:26 +0000
commit844f7e76c92a078d0d1a00af558eae7160857882 (patch)
tree8ea8101eb45c044458ad2e5bdcf8175efb466935
parent32fe2a0d77b2f266286058d1ba83c231cc615c7c (diff)
downloadgdb-844f7e76c92a078d0d1a00af558eae7160857882.tar.gz
* elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Mark syms in
executables when export_dynamic.
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/elflink.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 93f8ff994d2..c3899c1dd8b 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2011-11-09 Alan Modra <amodra@gmail.com>
+
+ * elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Mark syms in
+ executables when export_dynamic.
+
2011-11-08 Alan Modra <amodra@gmail.com>
* elf64-ppc.c (struct ppc64_elf_obj_tdata): Rename
diff --git a/bfd/elflink.c b/bfd/elflink.c
index dfd9b43c93c..bb82f5baee0 100644
--- a/bfd/elflink.c
+++ b/bfd/elflink.c
@@ -11940,7 +11940,7 @@ bfd_elf_gc_mark_dynamic_ref_symbol (struct elf_link_hash_entry *h, void *inf)
if ((h->root.type == bfd_link_hash_defined
|| h->root.type == bfd_link_hash_defweak)
&& (h->ref_dynamic
- || (!info->executable
+ || ((!info->executable || info->export_dynamic)
&& h->def_regular
&& ELF_ST_VISIBILITY (h->other) != STV_INTERNAL
&& ELF_ST_VISIBILITY (h->other) != STV_HIDDEN