aboutsummaryrefslogtreecommitdiff
path: root/bfd/elflink.h
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1997-06-26 16:06:03 +0000
committerIan Lance Taylor <ian@airs.com>1997-06-26 16:06:03 +0000
commit677525e961543526a86d8497ab051f4a06195104 (patch)
tree448c8ab4c6ae0d835fd222901345b81801511168 /bfd/elflink.h
parent20db24950cc296d9308620b6aee0f4eb6006c29e (diff)
downloadgdb-677525e961543526a86d8497ab051f4a06195104.zip
gdb-677525e961543526a86d8497ab051f4a06195104.tar.gz
gdb-677525e961543526a86d8497ab051f4a06195104.tar.bz2
* elflink.h (elf_link_add_object_symbols): When a version
indirection symbol is overridden, make the original symbol point at the real overriding symbol.
Diffstat (limited to 'bfd/elflink.h')
-rw-r--r--bfd/elflink.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/bfd/elflink.h b/bfd/elflink.h
index 82e10d2..a40e1d4 100644
--- a/bfd/elflink.h
+++ b/bfd/elflink.h
@@ -1411,6 +1411,10 @@ elf_link_add_object_symbols (abfd, info)
mapped to the definition in the regular
object. */
+ while (hi->root.type == bfd_link_hash_indirect
+ || hi->root.type == bfd_link_hash_warning)
+ hi = (struct elf_link_hash_entry *) hi->root.u.i.link;
+
h->root.type = bfd_link_hash_indirect;
h->root.u.i.link = (struct bfd_link_hash_entry *) hi;
if (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC)