From c4badc83ecfcb55d2824ef9165a4d0ef10f3161a Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Wed, 18 Jun 1997 23:02:58 +0000 Subject: [PATCH] revert last patch --- bfd/ChangeLog | 6 ------ bfd/elflink.h | 11 ++--------- 2 files changed, 2 insertions(+), 15 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 36a25220934..1ee22b093d7 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,9 +1,3 @@ -Wed Jun 18 11:35:42 1997 Ian Lance Taylor - - * elflink.h (elf_link_add_object_symbols): Don't let a common - symbol in a regular object override a common symbol in a shared - object if the latter was found via an indirect symbol. - Tue Jun 17 11:55:02 1997 Ian Lance Taylor * cofflink.c (_bfd_coff_link_input_bfd): If stripping debugging diff --git a/bfd/elflink.h b/bfd/elflink.h index 09a7d8b2252..df74afe2ad4 100644 --- a/bfd/elflink.h +++ b/bfd/elflink.h @@ -741,7 +741,6 @@ elf_link_add_object_symbols (abfd, info) { Elf_Internal_Versym iver; int vernum; - boolean indirect; boolean override; if (ever != NULL) @@ -851,14 +850,9 @@ elf_link_add_object_symbols (abfd, info) if (h->root.type == bfd_link_hash_new) h->elf_link_hash_flags &=~ ELF_LINK_NON_ELF; - indirect = false; while (h->root.type == bfd_link_hash_indirect || h->root.type == bfd_link_hash_warning) - { - if (h->root.type == bfd_link_hash_indirect) - indirect = true; - h = (struct elf_link_hash_entry *) h->root.u.i.link; - } + h = (struct elf_link_hash_entry *) h->root.u.i.link; /* FIXME: There are too many cases here, and it's too confusing. This code needs to be reorganized somehow. */ @@ -1014,8 +1008,7 @@ elf_link_add_object_symbols (abfd, info) && (h->root.u.def.section->flags & SEC_ALLOC) != 0 && (h->root.u.def.section->flags & SEC_LOAD) == 0 && h->size > 0 - && h->type != STT_FUNC - && ! indirect) + && h->type != STT_FUNC) { /* It would be best if we could set the hash table entry to a common symbol, but we don't know what to use for -- 2.30.2