From 32c092c3fab0ca778242005a793cc4641c3e1b4b Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Mon, 22 May 2000 07:26:58 +0000 Subject: [PATCH] 2000-05-22 H.J. Lu * elflink.h (elf_link_output_extsym): Clear the visibility field for symbols not defined locally. --- bfd/ChangeLog | 5 +++++ bfd/elflink.h | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 6a1d03bd1a..87e24bb7df 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2000-05-22 H.J. Lu + + * elflink.h (elf_link_output_extsym): Clear the visibility + field for symbols not defined locally. + 2000-05-18 Alan Modra * libhppa.h (re_assemble_3, re_assemble_12, re_assemble_16, diff --git a/bfd/elflink.h b/bfd/elflink.h index 5d86bbc533..f1dab7059f 100644 --- a/bfd/elflink.h +++ b/bfd/elflink.h @@ -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. */