* elfcode.h (elf_adjust_dynamic_symbol): Correct weak symbol

handling again.
This commit is contained in:
Ian Lance Taylor 1994-08-01 20:53:48 +00:00
parent 5a04f7d16c
commit 30e5ad97e9
2 changed files with 7 additions and 5 deletions

View file

@ -1,5 +1,8 @@
Mon Aug 1 12:04:40 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) Mon Aug 1 12:04:40 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
* elfcode.h (elf_adjust_dynamic_symbol): Correct weak symbol
handling again.
* elfcode.h (elf_slurp_reloc_table): Don't try to read the relocs * elfcode.h (elf_slurp_reloc_table): Don't try to read the relocs
if there aren't any. if there aren't any.

View file

@ -5035,12 +5035,11 @@ elf_adjust_dynamic_symbol (h, data)
weakdef = h->weakdef; weakdef = h->weakdef;
BFD_ASSERT (weakdef->root.type == bfd_link_hash_defined); BFD_ASSERT (weakdef->root.type == bfd_link_hash_defined);
BFD_ASSERT (weakdef->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC); BFD_ASSERT (weakdef->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC);
if ((weakdef->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) != 0 if ((weakdef->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) != 0)
|| (weakdef->elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR) != 0)
{ {
/* This symbol is defined or referenced by a regular object /* This symbol is defined by a regular object file, so we
file, so we will not do anything special. Clear weakdef will not do anything special. Clear weakdef for the
for the convenience of the processor backend. */ convenience of the processor backend. */
h->weakdef = NULL; h->weakdef = NULL;
} }
else else