diff options
-rw-r--r-- | bfd/ChangeLog | 4 | ||||
-rw-r--r-- | bfd/elflink.h | 4 |
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) |