From: Bernd Edlinger Date: Wed, 11 Nov 2020 14:31:46 +0000 (+0000) Subject: readelf: Fix output of rnglists section X-Git-Tag: binutils-2_35_2~87 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=97cdf5f93459ff85e4e73e4da60d4f76e03187d0;p=thirdparty%2Fbinutils-gdb.git readelf: Fix output of rnglists section * dwarf.c (display_debug_rnglists_list): Only bias the DW_RLS_offset_pair with the base address. (cherry picked from commit 4d93271533473d65165022ee9f82c368511ce82a) --- diff --git a/binutils/ChangeLog b/binutils/ChangeLog index 0f756f778fc..20a120e9144 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,11 @@ +2020-11-15 Mark Wielaard + + Backport from the mainline: + 2020-11-11 Bernd Edlinger + + * dwarf.c (display_debug_rnglists_list): Only bias the + DW_RLS_offset_pair with the base address. + 2020-11-15 Mark Wielaard Backport from the mainline: diff --git a/binutils/dwarf.c b/binutils/dwarf.c index eed0177b068..e673c4b7fa8 100644 --- a/binutils/dwarf.c +++ b/binutils/dwarf.c @@ -7102,8 +7102,15 @@ display_debug_rnglists_list (unsigned char *start, unsigned char *finish, if (rlet == DW_RLE_base_address) continue; - print_dwarf_vma (begin + base_address, pointer_size); - print_dwarf_vma (end + base_address, pointer_size); + /* Only a DW_RLE_offset_pair needs the base address added. */ + if (rlet == DW_RLE_offset_pair) + { + begin += base_address; + end += base_address; + } + + print_dwarf_vma (begin, pointer_size); + print_dwarf_vma (end, pointer_size); if (begin == end) fputs (_("(start == end)"), stdout);