diff options
Diffstat (limited to 'binutils/dwarf.c')
-rw-r--r-- | binutils/dwarf.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/binutils/dwarf.c b/binutils/dwarf.c index 9d78291..68732cf 100644 --- a/binutils/dwarf.c +++ b/binutils/dwarf.c @@ -6042,17 +6042,21 @@ display_debug_macro (struct dwarf_section *section, case DW_MACRO_define: READ_ULEB (lineno, curr, end); string = curr; - curr += strnlen ((char *) string, end - string) + 1; - printf (_(" DW_MACRO_define - lineno : %d macro : %s\n"), - lineno, string); + curr += strnlen ((char *) string, end - string); + printf (_(" DW_MACRO_define - lineno : %d macro : %*s\n"), + lineno, (int) (curr - string), string); + if (curr < end) + curr++; break; case DW_MACRO_undef: READ_ULEB (lineno, curr, end); string = curr; - curr += strnlen ((char *) string, end - string) + 1; - printf (_(" DW_MACRO_undef - lineno : %d macro : %s\n"), - lineno, string); + curr += strnlen ((char *) string, end - string); + printf (_(" DW_MACRO_undef - lineno : %d macro : %*s\n"), + lineno, (int) (curr - string), string); + if (curr < end) + curr++; break; case DW_MACRO_start_file: |