]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit
Make location expressions be code in DWARF assembler
authorTom Tromey <tromey@adacore.com>
Tue, 16 Sep 2025 20:33:15 +0000 (14:33 -0600)
committerTom Tromey <tromey@adacore.com>
Mon, 6 Oct 2025 15:30:00 +0000 (09:30 -0600)
commitc44edec047d180a0b8e66f9f99372136cb62abd0
tree7f3df531412fe78d3ea8425665817428c2662de0
parent77ff6e13093900e78a9e9ee74001778e73069238
Make location expressions be code in DWARF assembler

Currently the DWARF assembler implements manual parsing for location
expressions.  With a recent refactoring, this lead to the use of
[subst] in a number of places.

Following the same logic as the DW_AT_* change, this patch changes
location expressions to simply be nested Tcl code.  This avoids the
need for subst and also allows more complex logic, should that ever be
needed.

Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=33402
50 files changed:
gdb/testsuite/gdb.cp/incomplete-type-overload.exp
gdb/testsuite/gdb.dlang/watch-loc.exp
gdb/testsuite/gdb.dwarf2/DW_OP_piece_with_DW_OP_GNU_uninit.exp
gdb/testsuite/gdb.dwarf2/ada-array-bound.exp
gdb/testsuite/gdb.dwarf2/ada-valprint-error.exp
gdb/testsuite/gdb.dwarf2/arr-opt-out.exp
gdb/testsuite/gdb.dwarf2/assign-variable-value-to-register.exp
gdb/testsuite/gdb.dwarf2/count.exp
gdb/testsuite/gdb.dwarf2/cpp-linkage-name.exp
gdb/testsuite/gdb.dwarf2/data-loc.exp
gdb/testsuite/gdb.dwarf2/dw2-entry-points.exp
gdb/testsuite/gdb.dwarf2/dw2-entry-value-2.exp
gdb/testsuite/gdb.dwarf2/dw2-fixed-point.exp
gdb/testsuite/gdb.dwarf2/dw2-ifort-parameter.exp
gdb/testsuite/gdb.dwarf2/dw2-inline-with-lexical-scope.exp
gdb/testsuite/gdb.dwarf2/dw2-lexical-block-bare.exp
gdb/testsuite/gdb.dwarf2/dw2-namespaceless-anonymous.exp
gdb/testsuite/gdb.dwarf2/dw2-noloc.exp
gdb/testsuite/gdb.dwarf2/dw2-ranges-func.exp
gdb/testsuite/gdb.dwarf2/dw2-unusual-field-names.exp
gdb/testsuite/gdb.dwarf2/dw2-using-debug-str.exp
gdb/testsuite/gdb.dwarf2/dyn-type-unallocated.exp
gdb/testsuite/gdb.dwarf2/dynamic-bit-offset.exp
gdb/testsuite/gdb.dwarf2/dynarr-ptr.exp
gdb/testsuite/gdb.dwarf2/fission-absolute-dwo.exp
gdb/testsuite/gdb.dwarf2/fission-multi-cu.exp
gdb/testsuite/gdb.dwarf2/fission-relative-dwo.exp
gdb/testsuite/gdb.dwarf2/implptr-64bit.exp
gdb/testsuite/gdb.dwarf2/implptr-optimized-out.exp
gdb/testsuite/gdb.dwarf2/implptrconst.exp
gdb/testsuite/gdb.dwarf2/implptrpiece.exp
gdb/testsuite/gdb.dwarf2/implref-array.exp
gdb/testsuite/gdb.dwarf2/implref-const.exp
gdb/testsuite/gdb.dwarf2/implref-global.exp
gdb/testsuite/gdb.dwarf2/implref-struct.exp
gdb/testsuite/gdb.dwarf2/intbits.exp
gdb/testsuite/gdb.dwarf2/locexpr-data-member-location.exp
gdb/testsuite/gdb.dwarf2/missing-type-name.exp
gdb/testsuite/gdb.dwarf2/negative-data-member-location.exp
gdb/testsuite/gdb.dwarf2/nonvar-access.exp
gdb/testsuite/gdb.dwarf2/opt-out-not-implptr.exp
gdb/testsuite/gdb.dwarf2/staticvirtual.exp
gdb/testsuite/gdb.dwarf2/symbol_needs_eval_fail.exp
gdb/testsuite/gdb.dwarf2/symbol_needs_eval_timeout.exp
gdb/testsuite/gdb.dwarf2/var-access.exp
gdb/testsuite/gdb.dwarf2/varval.exp
gdb/testsuite/gdb.dwarf2/void-type.exp
gdb/testsuite/gdb.python/make-visualizer.exp
gdb/testsuite/gdb.trace/entry-values.exp
gdb/testsuite/lib/dwarf.exp