Wed Jun 25 12:43:10 1997 H.J. Lu <hjl@gnu.ai.mit.edu>

* elflink.h (elf_merge_symbols): Resolve indirect and warning
	symbols before checking for new symbols.
This commit is contained in:
Ian Lance Taylor 1997-06-25 16:45:12 +00:00
parent 0ac96a37f6
commit e9982ee534
2 changed files with 9 additions and 6 deletions

View File

@ -1,5 +1,8 @@
Wed Jun 25 12:43:10 1997 H.J. Lu <hjl@gnu.ai.mit.edu>
* 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 <ian@cygnus.com>

View File

@ -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)