mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-22 07:53:36 +08:00
bfd: Fix objdump --dynamic-reloc for SPARC 64-bit to show symbol names.
Fixes ld/testsuite/ld-elf/shared.exp "Build libpr16496b.so". The root cause is in bfd/elf64-sparc.c, elf64_sparc_slurp_one_reloc_table(), bfd_get_symcount() was used for dynamic mode as well. The fix is to use bfd_get_dynamic_symcount(). This has been tested with sparc64-linux-gnu, and it does not introduce any regressions. bfd/ChangeLog: 2017-02-06 Sheldon Lobo <sheldon.lobo@oracle.com> Fix sparc64 dynamic relocation processing to use the dynamic symbol count. * elf64-sparc.c (elf64_sparc_slurp_one_reloc_table): Use 'dynamic' to determine if bfd_get_symcount() or bfd_get_dynamic_symcount() should be used.
This commit is contained in:
parent
8a78ba5cf7
commit
3d044c0c78
@ -1,3 +1,11 @@
|
||||
2017-02-06 Sheldon Lobo <sheldon.lobo@oracle.com>
|
||||
|
||||
Fix sparc64 dynamic relocation processing to use the dynamic
|
||||
symbol count.
|
||||
* elf64-sparc.c (elf64_sparc_slurp_one_reloc_table): Use 'dynamic'
|
||||
to determine if bfd_get_symcount() or bfd_get_dynamic_symcount()
|
||||
should be used.
|
||||
|
||||
2017-02-03 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
PR 21096
|
||||
|
@ -99,7 +99,9 @@ elf64_sparc_slurp_one_reloc_table (bfd *abfd, asection *asect,
|
||||
|
||||
if (ELF64_R_SYM (rela.r_info) == STN_UNDEF
|
||||
/* PR 17512: file: 996185f8. */
|
||||
|| ELF64_R_SYM (rela.r_info) > bfd_get_symcount (abfd))
|
||||
|| (!dynamic && ELF64_R_SYM(rela.r_info) > bfd_get_symcount(abfd))
|
||||
|| (dynamic
|
||||
&& ELF64_R_SYM(rela.r_info) > bfd_get_dynamic_symcount(abfd)))
|
||||
relent->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr;
|
||||
else
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user