aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2024-06-17 15:51:13 +0930
committerAndreas K. Hüttel <dilfridge@gentoo.org>2024-06-29 00:03:28 +0200
commit6e5770c1806dd5b29abbf6e3e27512a57b060108 (patch)
treedbabf75b914c65397c2d703c942eb9f45e135d95
parentaarch64: Remove asserts from operand qualifier decoders (diff)
downloadbinutils-gdb-6e5770c1806dd5b29abbf6e3e27512a57b060108.tar.gz
binutils-gdb-6e5770c1806dd5b29abbf6e3e27512a57b060108.tar.bz2
binutils-gdb-6e5770c1806dd5b29abbf6e3e27512a57b060108.zip
PR31898 bug in processing DW_RLE_startx_endx
PR 31898 * dwarf.c (display_debug_rnglists_list): Correct fetch of "end" indexed address. Remove excess parens. (cherry picked from commit 1b19566b18a1208f84b89029785a1e93a6544514) (cherry picked from commit 6c360d376628d49a1403e5566fb057a207fb5c32)
-rw-r--r--binutils/dwarf.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/binutils/dwarf.c b/binutils/dwarf.c
index 615e051b2bf..30eefacf290 100644
--- a/binutils/dwarf.c
+++ b/binutils/dwarf.c
@@ -8136,7 +8136,7 @@ display_debug_rnglists_list (unsigned char * start,
READ_ULEB (base_address, start, finish);
print_hex (base_address, pointer_size);
printf (_("(base address index) "));
- base_address = fetch_indexed_addr ((base_address * pointer_size) + addr_base,
+ base_address = fetch_indexed_addr (base_address * pointer_size + addr_base,
pointer_size);
print_hex (base_address, pointer_size);
printf (_("(base address)\n"));
@@ -8144,15 +8144,15 @@ display_debug_rnglists_list (unsigned char * start,
case DW_RLE_startx_endx:
READ_ULEB (begin, start, finish);
READ_ULEB (end, start, finish);
- begin = fetch_indexed_addr ((begin * pointer_size) + addr_base,
+ begin = fetch_indexed_addr (begin * pointer_size + addr_base,
pointer_size);
- end = fetch_indexed_addr ((begin * pointer_size) + addr_base,
+ end = fetch_indexed_addr (end * pointer_size + addr_base,
pointer_size);
break;
case DW_RLE_startx_length:
READ_ULEB (begin, start, finish);
READ_ULEB (length, start, finish);
- begin = fetch_indexed_addr ((begin * pointer_size) + addr_base,
+ begin = fetch_indexed_addr (begin * pointer_size + addr_base,
pointer_size);
end = begin + length;
break;