Have readelf and objdump display the contents of the DWARF augmentation data as a string, if it is printable.
PR 24809 * dwarf.c (display_debug_names): Display the contents of the augmentation string, if it is printable.
This commit is contained in:
parent
c7c860d2d2
commit
48467cb99b
@ -1,3 +1,9 @@
|
||||
2019-07-25 Tom de Vries <vries@gcc.gnu.org>
|
||||
|
||||
PR 24809
|
||||
* dwarf.c (display_debug_names): Display the contents of the
|
||||
augmentation string, if it is printable.
|
||||
|
||||
2019-07-25 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
PR 24837
|
||||
|
@ -29,6 +29,7 @@
|
||||
#include "dwarf.h"
|
||||
#include "gdb/gdb-index.h"
|
||||
#include "filenames.h"
|
||||
#include "safe-ctype.h"
|
||||
#include <assert.h>
|
||||
|
||||
#undef MAX
|
||||
@ -8543,6 +8544,8 @@ display_debug_names (struct dwarf_section *section, void *file)
|
||||
uint32_t augmentation_string_size;
|
||||
unsigned int i;
|
||||
unsigned long sec_off;
|
||||
bfd_boolean augmentation_printable;
|
||||
const char *augmentation_string;
|
||||
|
||||
unit_start = hdrptr;
|
||||
|
||||
@ -8606,15 +8609,32 @@ display_debug_names (struct dwarf_section *section, void *file)
|
||||
augmentation_string_size);
|
||||
augmentation_string_size += (-augmentation_string_size) & 3;
|
||||
}
|
||||
|
||||
printf (_("Augmentation string:"));
|
||||
|
||||
augmentation_printable = TRUE;
|
||||
augmentation_string = (const char *) hdrptr;
|
||||
|
||||
for (i = 0; i < augmentation_string_size; i++)
|
||||
{
|
||||
unsigned char uc;
|
||||
|
||||
SAFE_BYTE_GET_AND_INC (uc, hdrptr, 1, unit_end);
|
||||
printf (" %02x", uc);
|
||||
|
||||
if (uc != 0 && !ISPRINT (uc))
|
||||
augmentation_printable = FALSE;
|
||||
}
|
||||
|
||||
if (augmentation_printable)
|
||||
{
|
||||
printf (" (\"");
|
||||
for (i = 0;
|
||||
i < augmentation_string_size && augmentation_string[i];
|
||||
++i)
|
||||
putchar (augmentation_string[i]);
|
||||
printf ("\")");
|
||||
}
|
||||
putchar ('\n');
|
||||
putchar ('\n');
|
||||
|
||||
printf (_("CU table:\n"));
|
||||
|
Loading…
Reference in New Issue
Block a user