summaryrefslogtreecommitdiff
path: root/bfd/elf.c
diff options
context:
space:
mode:
authorH.J. Lu <hjl@lucon.org>2001-04-30 16:13:26 +0000
committerH.J. Lu <hjl@lucon.org>2001-04-30 16:13:26 +0000
commitc5389dcdab1303b4e99aa10eeb1627d88b15a899 (patch)
tree4cb58db0f256b6581cd35dd7eceb1055d74570ab /bfd/elf.c
parentfd6fa161a50ed5eeb6b805c91682a3ee01aa23d1 (diff)
downloadbinutils-redhat-c5389dcdab1303b4e99aa10eeb1627d88b15a899.tar.gz
2000-04-27 H.J. Lu <hjl@gnu.org>
* elf.c (_bfd_elf_link_hash_hide_symbol): Set dynindx to -1 only for ELF_LINK_FORCED_LOCAL. * elf32-hppa.c (elf32_hppa_hide_symbol): Likewise. * elf32-mips.c (_bfd_mips_elf_hide_symbol): Likewise. * elfxx-ia64.c (elfNN_ia64_hash_hide_symbol): Likewise. * elflink.h (elf_fix_symbol_flags): Set ELF_LINK_FORCED_LOCAL if the symbol has hidden or internal visibility.
Diffstat (limited to 'bfd/elf.c')
-rw-r--r--bfd/elf.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/bfd/elf.c b/bfd/elf.c
index 26ce9d3b0a..602ebcdfce 100644
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -1014,8 +1014,9 @@ _bfd_elf_link_hash_hide_symbol (info, h)
struct elf_link_hash_entry *h;
{
h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT;
- h->dynindx = -1;
h->plt.offset = (bfd_vma) -1;
+ if ((h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0)
+ h->dynindx = -1;
}
/* Initialize an ELF linker hash table. */