From: Ian Lance Taylor Date: Wed, 25 Jun 1997 16:45:12 +0000 (+0000) Subject: Wed Jun 25 12:43:10 1997 H.J. Lu X-Git-Tag: gdb-4_18~5306 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e9982ee534893860a2efef566eaa375e163b8b33;p=external%2Fbinutils.git Wed Jun 25 12:43:10 1997 H.J. Lu * elflink.h (elf_merge_symbols): Resolve indirect and warning symbols before checking for new symbols. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 86d136e..4dc6767 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,5 +1,8 @@ Wed Jun 25 12:43:10 1997 H.J. Lu + * elflink.h (elf_merge_symbols): Resolve indirect and warning + symbols before checking for new symbols. + * elfcore.h (elf_corefile_note): Move out of HAVE_SYS_PROCFS_H. Tue Jun 24 11:20:43 1997 Ian Lance Taylor diff --git a/bfd/elflink.h b/bfd/elflink.h index 07f3811..d0fccf3 100644 --- a/bfd/elflink.h +++ b/bfd/elflink.h @@ -319,6 +319,12 @@ elf_merge_symbol (abfd, info, name, sym, psec, pvalue, sym_hash, return false; *sym_hash = h; + /* For merging, we only care about real symbols. */ + + while (h->root.type == bfd_link_hash_indirect + || h->root.type == bfd_link_hash_warning) + h = (struct elf_link_hash_entry *) h->root.u.i.link; + /* If we just created the symbol, mark it as being an ELF symbol. Other than that, there is nothing to do--there is no merge issue with a newly defined symbol--so we just return. */ @@ -329,12 +335,6 @@ elf_merge_symbol (abfd, info, name, sym, psec, pvalue, sym_hash, return true; } - /* For merging, we only care about real symbols. */ - - while (h->root.type == bfd_link_hash_indirect - || h->root.type == bfd_link_hash_warning) - h = (struct elf_link_hash_entry *) h->root.u.i.link; - /* OLDBFD is a BFD associated with the existing symbol. */ switch (h->root.type)