aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2025-01-06 18:48:58 +0100
committerTom de Vries <tdevries@suse.de>2025-01-06 18:48:58 +0100
commit91f95754097398fdfa076f5f1cf46f1e2ebc6b38 (patch)
treeaacda86c6c49d941775d033d3a1e2c2969eed6f4 /gdb/testsuite
parentf25d22bad46b5914e4ac18362442237757f1eb89 (diff)
downloadgdb-91f95754097398fdfa076f5f1cf46f1e2ebc6b38.zip
gdb-91f95754097398fdfa076f5f1cf46f1e2ebc6b38.tar.gz
gdb-91f95754097398fdfa076f5f1cf46f1e2ebc6b38.tar.bz2
[gdb/cli] Show LOC_CONST_BYTES var for info locals
PR cli/32525 reports that a variable with this DWARF: .. <2><423>: Abbrev Number: 14 (DW_TAG_variable) <424> DW_AT_name : var1867 <42a> DW_AT_type : <0x2f8> <42e> DW_AT_const_value : 8 byte block: 0 0 0 0 0 0 0 0 ... is not shown by info locals. Fix this by handling LOC_CONST_BYTES in iterate_over_block_locals. Tested on x86_64-linux. Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=32525 Approved-By: Tom Tromey <tom@tromey.com>
Diffstat (limited to 'gdb/testsuite')
-rw-r--r--gdb/testsuite/gdb.dwarf2/info-locals-optimized-out.exp16
1 files changed, 15 insertions, 1 deletions
diff --git a/gdb/testsuite/gdb.dwarf2/info-locals-optimized-out.exp b/gdb/testsuite/gdb.dwarf2/info-locals-optimized-out.exp
index 0aa7b04..f338fd4 100644
--- a/gdb/testsuite/gdb.dwarf2/info-locals-optimized-out.exp
+++ b/gdb/testsuite/gdb.dwarf2/info-locals-optimized-out.exp
@@ -53,6 +53,11 @@ Dwarf::assemble $asm_file {
{name "opt_out"}
{type :$int_type_label}
}
+ DW_TAG_variable {
+ {name const_bytes}
+ {type :$int_type_label}
+ {const_value "\x01\x01\x01\x01" DW_FORM_block1}
+ }
}
}
}
@@ -67,5 +72,14 @@ if ![runto_main] {
return -1
}
+set lines [gdb_get_lines "info locals"]
+
# Make sure "info locals" shows optimized out variables.
-gdb_test "info locals" ".*opt_out = <optimized out>.*" "info local shows optimized out variable"
+gdb_assert \
+ { [regexp [string_to_regexp "opt_out = <optimized out>"] $lines] } \
+ "info locals shows optimized out variable"
+
+# Regression test for PR cli/32525.
+gdb_assert \
+ { [regexp [string_to_regexp "const_bytes = 16843009"] $lines] } \
+ "info locals shows DW_FORM_block1 variable"