From: Mark Wielaard Date: Tue, 1 Sep 2020 21:32:09 +0000 (+0200) Subject: readelf: base address entry can be first X-Git-Tag: elfutils-0.181~3 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f1a0e680aa0f4e9fcdf10afcea075a833a5a9e4a;p=thirdparty%2Felfutils.git readelf: base address entry can be first In both debug_ranges and debug_loc a base address entry can be the first in the range or loc list. If so print the offset and set first to false. Otherwise don't print the entry list offset, but do set first to false. Signed-off-by: Mark Wielaard --- diff --git a/src/ChangeLog b/src/ChangeLog index e37f35871..8a64a15e3 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,9 @@ +2020-09-01 Mark Wielaard + + * readelf.c (print_debug_ranges_section): Base address entry can + be first. + (print_debug_loc_section): Likewise. + 2020-09-04 Mark Wielaard * elflint.c (special_sections): Add .debug_line_str. diff --git a/src/readelf.c b/src/readelf.c index 41933d953..dd6e28af1 100644 --- a/src/readelf.c +++ b/src/readelf.c @@ -6045,10 +6045,16 @@ print_debug_ranges_section (Dwfl_Module *dwflmod, if (begin == (Dwarf_Addr) -1l) /* Base address entry. */ { - printf (gettext (" [%6tx] base address\n "), offset); + if (first) + printf (" [%6tx] ", offset); + else + printf (" "); + puts (gettext ("base address")); + printf (" "); print_dwarf_addr (dwflmod, address_size, end, end); printf ("\n"); base = end; + first = false; } else if (begin == 0 && end == 0) /* End of list entry. */ { @@ -9615,10 +9621,16 @@ print_debug_loc_section (Dwfl_Module *dwflmod, if (begin == (Dwarf_Addr) -1l) /* Base address entry. */ { - printf (gettext (" [%6tx] base address\n "), offset); + if (first) + printf (" [%6tx] ", offset); + else + printf (" "); + puts (gettext ("base address")); + printf (" "); print_dwarf_addr (dwflmod, address_size, end, end); printf ("\n"); base = end; + first = false; } else if (begin == 0 && end == 0) /* End of list entry. */ {