Before this commit: ... commit bbb12eb9c84aa2b32480b7c022c494c2469ef717 Author: Thiago Jung Bauermann <thiago.bauermann@linaro.org> Date: Mon Feb 26 19:11:45 2024 -0300 gdb/arm: Remove tpidruro register from non-FreeBSD target descriptions ... test-case gdb.base/inline-frame-cycle-unwind.exp failed on arm-linux. I managed to write a test-case fix: ... diff --git a/gdb/testsuite/gdb.base/inline-frame-cycle-unwind.py b/gdb/testsuite/gdb.base/inline-frame-cycle-unwind .py index 278fa857d5d..0110fc74276 100644 --- a/gdb/testsuite/gdb.base/inline-frame-cycle-unwind.py +++ b/gdb/testsuite/gdb.base/inline-frame-cycle-unwind.py @@ -65,6 +65,13 @@ class TestUnwinder(Unwinder): for reg in pending_frame.architecture().registers("general"): val = pending_frame.read_register(reg) + have_bytes = True + try: + val.bytes + except Exception: + have_bytes = False + if not have_bytes: + continue unwinder.add_saved_register(reg, val) return unwinder ... which made we wonder why we have gdb.Value.is_optimized_out, but not the is_entirely_available or is_entirely_unavailable variants.
(In reply to Tom de Vries from comment #0) > I managed to write a test-case fix: FWIW, in PR pyhon/31437 I wrote a fix on the gdb side for this.
Hmm, so we have value::optimized_out and gdb.Value.is_optimized_out. Perhaps we should also have the is_ prefix here.