aboutsummaryrefslogtreecommitdiff
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
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.
-rw-r--r--bfd/ChangeLog4
-rw-r--r--bfd/elflink.h4
2 files changed, 8 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 272c89d..aa5b956 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,5 +1,9 @@
Thu Jun 26 01:26:31 1997 Ian Lance Taylor <ian@cygnus.com>
+ * elflink.h (elf_link_add_object_symbols): When a version
+ indirection symbol is overridden, make the original symbol point
+ at the real overriding symbol.
+
* elf.c (bfd_elf_string_from_elf_section): Check for an invalid
string index.
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)