aboutsummaryrefslogtreecommitdiff
path: root/bfd/elflink.h
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1998-10-05 03:11:55 +0000
committerIan Lance Taylor <ian@airs.com>1998-10-05 03:11:55 +0000
commit1bec01fc8bdbc4870d6f19d735eb99bb3d09cd7c (patch)
treef35b0d920423efd2d6e5f7a6b5f5d3f1ee36c9c9 /bfd/elflink.h
parent6886ab292b8d2f4d666d39366c3da9a0cc8aa79a (diff)
downloadgdb-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.h10
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