* elflink.h (elf_link_add_object_symbols): When a versioned symbol

has a base which is already defined, only add the referenced
	symbol to the dynamic symbol table if it is defined or referenced
	by a regular file.
This commit is contained in:
Ian Lance Taylor 1998-10-05 03:11:55 +00:00
parent 6886ab292b
commit 1bec01fc8b
2 changed files with 13 additions and 2 deletions

View File

@ -8,6 +8,11 @@ Sun Oct 4 20:38:29 1998 Jeffrey A Law (law@cygnus.com)
Sun Oct 4 21:19:09 1998 Ian Lance Taylor <ian@cygnus.com>
* elflink.h (elf_link_add_object_symbols): When a versioned symbol
has a base which is already defined, only add the referenced
symbol to the dynamic symbol table if it is defined or referenced
by a regular file.
* elf32-i386.c (elf_i386_info_to_howto_rel): Handle vtable relocs
correctly.

View File

@ -1423,8 +1423,14 @@ elf_link_add_object_symbols (abfd, info)
{
h->elf_link_hash_flags &=~ ELF_LINK_HASH_DEF_DYNAMIC;
hi->elf_link_hash_flags |= ELF_LINK_HASH_REF_DYNAMIC;
if (! _bfd_elf_link_record_dynamic_symbol (info, hi))
goto error_return;
if (hi->elf_link_hash_flags
& (ELF_LINK_HASH_REF_REGULAR
| ELF_LINK_HASH_DEF_REGULAR))
{
if (! _bfd_elf_link_record_dynamic_symbol (info,
hi))
goto error_return;
}
}
/* Now set HI to H, so that the following code