diff options
author | Ian Lance Taylor <ian@airs.com> | 1998-10-05 03:11:55 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 1998-10-05 03:11:55 +0000 |
commit | 1bec01fc8bdbc4870d6f19d735eb99bb3d09cd7c (patch) | |
tree | f35b0d920423efd2d6e5f7a6b5f5d3f1ee36c9c9 /bfd/elflink.h | |
parent | 6886ab292b8d2f4d666d39366c3da9a0cc8aa79a (diff) | |
download | gdb-1bec01fc8bdbc4870d6f19d735eb99bb3d09cd7c.zip gdb-1bec01fc8bdbc4870d6f19d735eb99bb3d09cd7c.tar.gz gdb-1bec01fc8bdbc4870d6f19d735eb99bb3d09cd7c.tar.bz2 |
* 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.
Diffstat (limited to 'bfd/elflink.h')
-rw-r--r-- | bfd/elflink.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/bfd/elflink.h b/bfd/elflink.h index 64f8de80..2c38793 100644 --- a/bfd/elflink.h +++ b/bfd/elflink.h @@ -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 |