* elflink.c (elf_link_add_object_symbols): Don't omit reading
of symbols when hashes already exist.
This commit is contained in:
parent
680d1742c4
commit
012b2306cc
|
@ -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
|
||||||
|
@ -10,18 +15,18 @@
|
||||||
|
|
||||||
2013-05-07 Will Newton <will.newton@linaro.org>
|
2013-05-07 Will Newton <will.newton@linaro.org>
|
||||||
|
|
||||||
* elf-ifunc.c (_bfd_elf_create_ifunc_dyn_reloc): Remove unused
|
* elf-ifunc.c (_bfd_elf_create_ifunc_dyn_reloc): Remove unused
|
||||||
function.
|
function.
|
||||||
* elf-bfd.h: Likewise.
|
* elf-bfd.h: Likewise.
|
||||||
|
|
||||||
2013-05-06 Paul Brook <paul@codesourcery.com>
|
2013-05-06 Paul Brook <paul@codesourcery.com>
|
||||||
|
|
||||||
* elf64-mips.c (elf_mips_gnu_pcrel32): New.
|
* elf64-mips.c (elf_mips_gnu_pcrel32): New.
|
||||||
(bfd_elf64_bfd_reloc_type_lookup, bfd_elf64_bfd_reloc_name_lookup,
|
(bfd_elf64_bfd_reloc_type_lookup, bfd_elf64_bfd_reloc_name_lookup,
|
||||||
mips_elf64_rtype_to_howto): Handle R_MIPS_PC32.
|
mips_elf64_rtype_to_howto): Handle R_MIPS_PC32.
|
||||||
* elfn32-mips.c (elf_mips_gnu_pcrel32): New.
|
* elfn32-mips.c (elf_mips_gnu_pcrel32): New.
|
||||||
(bfd_elfn32_bfd_reloc_type_lookup, bfd_elfn32_bfd_reloc_name_lookup,
|
(bfd_elfn32_bfd_reloc_type_lookup, bfd_elfn32_bfd_reloc_name_lookup,
|
||||||
mips_elfn32_rtype_to_howto): Handle R_MIPS_PC32.
|
mips_elfn32_rtype_to_howto): Handle R_MIPS_PC32.
|
||||||
|
|
||||||
2013-05-06 Alan Modra <amodra@gmail.com>
|
2013-05-06 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
|
|
|
@ -3699,20 +3699,23 @@ 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
|
|
||||||
symbol. */
|
|
||||||
amt = extsymcount * sizeof (struct elf_link_hash_entry *);
|
|
||||||
sym_hash = (struct elf_link_hash_entry **) bfd_zalloc (abfd, amt);
|
|
||||||
if (sym_hash == NULL)
|
if (sym_hash == NULL)
|
||||||
goto error_free_sym;
|
{
|
||||||
elf_sym_hashes (abfd) = sym_hash;
|
/* We store a pointer to the hash table entry for each
|
||||||
|
external symbol. */
|
||||||
|
amt = extsymcount * sizeof (struct elf_link_hash_entry *);
|
||||||
|
sym_hash = (struct elf_link_hash_entry **) bfd_zalloc (abfd, amt);
|
||||||
|
if (sym_hash == NULL)
|
||||||
|
goto error_free_sym;
|
||||||
|
elf_sym_hashes (abfd) = sym_hash;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (dynamic)
|
if (dynamic)
|
||||||
|
|
Loading…
Reference in New Issue