aboutsummaryrefslogtreecommitdiff
path: root/bfd/elflink.h
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2000-05-22 07:26:58 +0000
committerH.J. Lu <hjl.tools@gmail.com>2000-05-22 07:26:58 +0000
commit32c092c3fab0ca778242005a793cc4641c3e1b4b (patch)
tree5ab67f3e05b56175fd416a63c28aec27b391cf0d /bfd/elflink.h
parent004527cbbbb93a2e7aa688b233db7dde56c9c321 (diff)
downloadgdb-32c092c3fab0ca778242005a793cc4641c3e1b4b.zip
gdb-32c092c3fab0ca778242005a793cc4641c3e1b4b.tar.gz
gdb-32c092c3fab0ca778242005a793cc4641c3e1b4b.tar.bz2
2000-05-22 H.J. Lu <hjl@gnu.org>
* elflink.h (elf_link_output_extsym): Clear the visibility field for symbols not defined locally.
Diffstat (limited to 'bfd/elflink.h')
-rw-r--r--bfd/elflink.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/bfd/elflink.h b/bfd/elflink.h
index 5d86bbc..f1dab705 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. */