diff options
author | Alan Modra <amodra@gmail.com> | 2013-05-08 23:31:38 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2013-05-08 23:31:38 +0000 |
commit | 012b2306cc5163b40c085a327e4b9c6ab1335ffa (patch) | |
tree | 0429b1dd4bc8598112090f14110564c33d25ed0e /bfd | |
parent | 680d1742c462872df7be8acd25f84fa50be1ede1 (diff) | |
download | gdb-012b2306cc5163b40c085a327e4b9c6ab1335ffa.zip gdb-012b2306cc5163b40c085a327e4b9c6ab1335ffa.tar.gz gdb-012b2306cc5163b40c085a327e4b9c6ab1335ffa.tar.bz2 |
* elflink.c (elf_link_add_object_symbols): Don't omit reading
of symbols when hashes already exist.
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 19 | ||||
-rw-r--r-- | bfd/elflink.c | 17 |
2 files changed, 22 insertions, 14 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index a670a24..da19766 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -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> * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Add a @@ -10,18 +15,18 @@ 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. * elf-bfd.h: Likewise. 2013-05-06 Paul Brook <paul@codesourcery.com> - * elf64-mips.c (elf_mips_gnu_pcrel32): New. - (bfd_elf64_bfd_reloc_type_lookup, bfd_elf64_bfd_reloc_name_lookup, - mips_elf64_rtype_to_howto): Handle R_MIPS_PC32. - * elfn32-mips.c (elf_mips_gnu_pcrel32): New. - (bfd_elfn32_bfd_reloc_type_lookup, bfd_elfn32_bfd_reloc_name_lookup, - mips_elfn32_rtype_to_howto): Handle R_MIPS_PC32. + * elf64-mips.c (elf_mips_gnu_pcrel32): New. + (bfd_elf64_bfd_reloc_type_lookup, bfd_elf64_bfd_reloc_name_lookup, + mips_elf64_rtype_to_howto): Handle R_MIPS_PC32. + * elfn32-mips.c (elf_mips_gnu_pcrel32): New. + (bfd_elfn32_bfd_reloc_type_lookup, bfd_elfn32_bfd_reloc_name_lookup, + mips_elfn32_rtype_to_howto): Handle R_MIPS_PC32. 2013-05-06 Alan Modra <amodra@gmail.com> diff --git a/bfd/elflink.c b/bfd/elflink.c index 43c54fc..34bbcd5 100644 --- a/bfd/elflink.c +++ b/bfd/elflink.c @@ -3699,20 +3699,23 @@ error_free_dyn: } 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, NULL, NULL, NULL); if (isymbuf == NULL) 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) - 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) |