forked from Imagelibrary/binutils-gdb
bfd/
* elfxx-target.h (bfd_elfNN_get_synthetic_symtab): Only define if not yet defined. * elf64-ppc.c (bfd_elf64_get_synthetic_symtab): Define. (synthetic_opd, synthetic_relocatable): New variables. (compare_symbols, compare_relocs): New helper routines. (ppc64_elf_get_synthetic_symtab): New function. * bfd.c (bfd_get_synthetic_symtab): Rename dynsyms argument to relsyms. * bfd-in2.h: Regenerated. * elf.c (_bfd_elf_get_synthetic_symtab): Rename dynsyms argument to relsyms. Return 0 if abfd is relocatable. binutils/ * objdump.c (dump_bfd): For relocatable objects, pass syms instead of dynsyms to bfd_get_synthetic_symtab.
This commit is contained in:
@@ -2564,9 +2564,19 @@ dump_bfd (bfd *abfd)
|
||||
if (dump_dynamic_symtab || dump_dynamic_reloc_info
|
||||
|| (disassemble && bfd_get_dynamic_symtab_upper_bound (abfd) > 0))
|
||||
dynsyms = slurp_dynamic_symtab (abfd);
|
||||
if (disassemble && dynsymcount > 0)
|
||||
if (disassemble)
|
||||
{
|
||||
synthcount = bfd_get_synthetic_symtab (abfd, dynsyms, &synthsyms);
|
||||
synthcount = 0;
|
||||
if (bfd_get_file_flags (abfd) & (DYNAMIC | EXEC_P))
|
||||
{
|
||||
if (dynsymcount > 0)
|
||||
synthcount = bfd_get_synthetic_symtab (abfd, dynsyms, &synthsyms);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (symcount > 0)
|
||||
synthcount = bfd_get_synthetic_symtab (abfd, syms, &synthsyms);
|
||||
}
|
||||
if (synthcount < 0) synthcount = 0;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user