2000-05-22 H.J. Lu <hjl@gnu.org>
authorH.J. Lu <hjl.tools@gmail.com>
Mon, 22 May 2000 07:26:58 +0000 (07:26 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Mon, 22 May 2000 07:26:58 +0000 (07:26 +0000)
* elflink.h (elf_link_output_extsym): Clear the visibility
field for symbols not defined locally.

bfd/ChangeLog
bfd/elflink.h

index 6a1d03b..87e24bb 100644 (file)
@@ -1,3 +1,8 @@
+2000-05-22  H.J. Lu  <hjl@gnu.org>
+
+       * elflink.h (elf_link_output_extsym): Clear the visibility
+       field for symbols not defined locally.
+
 2000-05-18  Alan Modra  <alan@linuxcare.com.au>
 
        * libhppa.h (re_assemble_3, re_assemble_12, re_assemble_16,
index 5d86bbc..f1dab70 100644 (file)
@@ -5089,6 +5089,11 @@ elf_link_output_extsym (h, data)
       sym.st_info = ELF_ST_INFO (bindtype, ELF_ST_TYPE (sym.st_info));
     }
 
+  /* If a symbol is not defined locally, we clear the visibility
+     field. */
+  if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0)
+    sym.st_other ^= ELF_ST_VISIBILITY(sym.st_other);
+
   /* If this symbol should be put in the .dynsym section, then put it
      there now.  We have already know the symbol index.  We also fill
      in the entry in the .hash section.  */