Fix objdump's display of indirect strings in object files, which was broken by the link following code.

PR 24818
	* objdump.c (is_relocateable): Delete.
	(load_specific_debug_section): Test the abfd for relocations
	directly, rather than relying upon is_relocateable.
	(dump_dwarf): Delete initlialization of is_relocateable.
This commit is contained in:
Nick Clifton 2019-07-23 17:54:32 +01:00
parent 19889a5835
commit 2e8136f945
3 changed files with 10 additions and 6 deletions

View File

@ -1,3 +1,11 @@
2019-07-23 Nick Clifton <nickc@redhat.com>
PR 24818
* objdump.c (is_relocateable): Delete.
(load_specific_debug_section): Test the abfd for relocations
directly, rather than relying upon is_relocateable.
(dump_dwarf): Delete initlialization of is_relocateable.
2019-07-23 Alan Modra <amodra@gmail.com>
* readelf.c (get_parisc_segment_type): Split off hpux entries..

View File

@ -3296,7 +3296,6 @@ process_debug_info (struct dwarf_section * section,
if (! do_loc && do_printing)
/* Show the offset from where the tag was extracted. */
printf (" <%lx>", (unsigned long)(tags - section_begin));
tags = read_and_display_attr (attr->attribute,
attr->form,
attr->implicit_const,

View File

@ -192,8 +192,6 @@ static bfd_size_type stab_size;
static bfd_byte *strtab;
static bfd_size_type stabstr_size;
static bfd_boolean is_relocatable = FALSE;
/* Handlers for -P/--private. */
static const struct objdump_private_desc * const objdump_private_vectors[] =
{
@ -2749,7 +2747,8 @@ load_specific_debug_section (enum dwarf_section_display_enum debug,
/* Ensure any string section has a terminating NUL. */
section->start[section->size] = 0;
if (is_relocatable && debug_displays [debug].relocate)
if ((abfd->flags & (EXEC_P | DYNAMIC)) == 0
&& debug_displays [debug].relocate)
{
long reloc_size;
bfd_boolean ret;
@ -2943,8 +2942,6 @@ dump_dwarf (bfd *abfd)
return;
}
is_relocatable = (abfd->flags & (EXEC_P | DYNAMIC)) == 0;
eh_addr_size = bfd_arch_bits_per_address (abfd) / 8;
switch (bfd_get_arch (abfd))