aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf64-ppc.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2011-10-17 08:27:45 +0000
committerAlan Modra <amodra@gmail.com>2011-10-17 08:27:45 +0000
commit4c58e0d81504856e1b6d1bdffbe5146260a07bbc (patch)
tree6abfb4bc8f9252f34bb7f31f3100d0adc5dcf385 /bfd/elf64-ppc.c
parentc3797e3d05525d0a564fc4cd5b2ac0d5dda2c094 (diff)
downloadgdb-4c58e0d81504856e1b6d1bdffbe5146260a07bbc.zip
gdb-4c58e0d81504856e1b6d1bdffbe5146260a07bbc.tar.gz
gdb-4c58e0d81504856e1b6d1bdffbe5146260a07bbc.tar.bz2
PR ld/12975
PR ld/13195 * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Apply 2011-09-15 and 2011-09-29 bfd_elf_gc_mark_dynamic_ref_symbol changes here too.
Diffstat (limited to 'bfd/elf64-ppc.c')
-rw-r--r--bfd/elf64-ppc.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c
index 5f5c811..837568c 100644
--- a/bfd/elf64-ppc.c
+++ b/bfd/elf64-ppc.c
@@ -5717,7 +5717,10 @@ ppc64_elf_gc_mark_dynamic_ref (struct elf_link_hash_entry *h, void *inf)
|| (!info->executable
&& eh->elf.def_regular
&& ELF_ST_VISIBILITY (eh->elf.other) != STV_INTERNAL
- && ELF_ST_VISIBILITY (eh->elf.other) != STV_HIDDEN)))
+ && ELF_ST_VISIBILITY (eh->elf.other) != STV_HIDDEN
+ && (strchr (eh->elf.root.root.string, ELF_VER_CHR) != NULL
+ || !bfd_hide_sym_by_version (info->version_info,
+ eh->elf.root.root.string)))))
{
asection *code_sec;
struct ppc_link_hash_entry *fh;