PR ld/12975
authorAlan Modra <amodra@gmail.com>
Mon, 17 Oct 2011 08:27:45 +0000 (08:27 +0000)
committerAlan Modra <amodra@gmail.com>
Mon, 17 Oct 2011 08:27:45 +0000 (08:27 +0000)
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.

bfd/ChangeLog
bfd/elf64-ppc.c

index 13242ba24ef3cdc620b95982cd3372a850a5fe03..8f9b9be753e635252133a5ff0d8130314d98bd41 100644 (file)
@@ -1,3 +1,10 @@
+2011-10-17  Alan Modra  <amodra@gmail.com>
+
+       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.
+
 2011-10-14  Hans-Peter Nilsson  <hp@axis.com>
 
        * elf32-cris.c (cris_elf_gc_sweep_hook) <R_CRIS_16_GOTPLT>
index 5f5c81116097484aa2fea00464b995c4966f307c..837568cef186ef3be0c9210409e0cbd3b91a3d63 100644 (file)
@@ -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;