* elflink.c (elf_link_add_object_symbols): Don't omit reading

of symbols when hashes already exist.
This commit is contained in:
Alan Modra 2013-05-08 23:31:38 +00:00
parent 680d1742c4
commit 012b2306cc
2 changed files with 22 additions and 14 deletions

View File

@ -1,3 +1,8 @@
2013-05-09 Alan Modra <amodra@gmail.com>
* elflink.c (elf_link_add_object_symbols): Don't omit reading
of symbols when hashes already exist.
2013-05-07 Will Newton <will.newton@linaro.org> 2013-05-07 Will Newton <will.newton@linaro.org>
* elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Add a * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Add a

View File

@ -3699,21 +3699,24 @@ error_free_dyn:
} }
sym_hash = elf_sym_hashes (abfd); sym_hash = elf_sym_hashes (abfd);
if (sym_hash == NULL && extsymcount != 0) if (extsymcount != 0)
{ {
isymbuf = bfd_elf_get_elf_syms (abfd, hdr, extsymcount, extsymoff, isymbuf = bfd_elf_get_elf_syms (abfd, hdr, extsymcount, extsymoff,
NULL, NULL, NULL); NULL, NULL, NULL);
if (isymbuf == NULL) if (isymbuf == NULL)
goto error_return; goto error_return;
/* We store a pointer to the hash table entry for each external if (sym_hash == NULL)
symbol. */ {
/* We store a pointer to the hash table entry for each
external symbol. */
amt = extsymcount * sizeof (struct elf_link_hash_entry *); amt = extsymcount * sizeof (struct elf_link_hash_entry *);
sym_hash = (struct elf_link_hash_entry **) bfd_zalloc (abfd, amt); sym_hash = (struct elf_link_hash_entry **) bfd_zalloc (abfd, amt);
if (sym_hash == NULL) if (sym_hash == NULL)
goto error_free_sym; goto error_free_sym;
elf_sym_hashes (abfd) = sym_hash; elf_sym_hashes (abfd) = sym_hash;
} }
}
if (dynamic) if (dynamic)
{ {