diff --git a/bfd/ChangeLog b/bfd/ChangeLog index e05cd4c58f..1b0f8d017c 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -5,6 +5,10 @@ Tue Oct 8 08:51:19 1996 Stu Grossman (grossman@critters.cygnus.com) Tue Oct 8 11:40:16 1996 Ian Lance Taylor + * elflink.h (elf_link_add_object_symbols): If a symbol is a weak + definition in a dynamic object, add it to the dynamic symbol table + if any dynamic object mentions it. Reverts part of last patch. + * sunos.c (struct sunos_link_hash_table): Add got_base field. (sunos_link_hash_table_create): Initialize got_base. (bfd_sunos_size_dynamic_sections): If the .got section is more diff --git a/bfd/elflink.h b/bfd/elflink.h index dae7597835..dcc5827db3 100644 --- a/bfd/elflink.h +++ b/bfd/elflink.h @@ -828,7 +828,10 @@ elf_link_add_object_symbols (abfd, info) else new_flag = ELF_LINK_HASH_DEF_DYNAMIC; if ((old_flags & (ELF_LINK_HASH_DEF_REGULAR - | ELF_LINK_HASH_REF_REGULAR)) != 0) + | ELF_LINK_HASH_REF_REGULAR)) != 0 + || (h->weakdef != NULL + && (old_flags & (ELF_LINK_HASH_DEF_DYNAMIC + | ELF_LINK_HASH_REF_DYNAMIC)) != 0)) dynsym = true; }