* elflink.c (_bfd_elf_define_linkage_sym): Don't set STV_INTERNAL
authorAlan Modra <amodra@gmail.com>
Wed, 21 Aug 2013 03:45:44 +0000 (03:45 +0000)
committerAlan Modra <amodra@gmail.com>
Wed, 21 Aug 2013 03:45:44 +0000 (03:45 +0000)
symbols to STV_HIDDEN.

bfd/ChangeLog
bfd/elflink.c

index fb0582efd4dae76799f09ab27d18bfd4ea192310..48782783e8962551937cc4d29e505ad377dec6dc 100644 (file)
@@ -1,3 +1,8 @@
+2013-08-21  Alan Modra  <amodra@gmail.com>
+
+       * elflink.c (_bfd_elf_define_linkage_sym): Don't set STV_INTERNAL
+       symbols to STV_HIDDEN.
+
 2013-08-14  John Tytgat  <john@bass-software.com>
 
        PR ld/15787
 
 2013-07-18  Terry Guo  <terry.guo@arm.com>
 
-        * elf32-arm.c (arm_type_of_stub): Don't use ST_BRANCH_TO_ARM for
+       * elf32-arm.c (arm_type_of_stub): Don't use ST_BRANCH_TO_ARM for
        thumb only targets.
-        (elf32_arm_final_link_relocate): Likewise.
+       (elf32_arm_final_link_relocate): Likewise.
 
 2013-07-18  Bill Neubauer  <wcn@google.com>
 
index 5682db26f11c51b15489397e861c25f730d37414..20371bc2255fe4155a82df41fccacffc93dd1129 100644 (file)
@@ -85,7 +85,8 @@ _bfd_elf_define_linkage_sym (bfd *abfd,
   h->def_regular = 1;
   h->non_elf = 0;
   h->type = STT_OBJECT;
-  h->other = (h->other & ~ELF_ST_VISIBILITY (-1)) | STV_HIDDEN;
+  if (ELF_ST_VISIBILITY (h->other) != STV_INTERNAL)
+    h->other = (h->other & ~ELF_ST_VISIBILITY (-1)) | STV_HIDDEN;
 
   bed = get_elf_backend_data (abfd);
   (*bed->elf_backend_hide_symbol) (info, h, TRUE);