[PATCH v8 0/4] PR gdb/31353

Markus Metzger
2026-04-15T07:23:44Z

Reviving an old patch series that was first submitted in Jan'21.

It fixes issues with breakpoints at the end of the execution history,
including PR gdb/31353, which was submitted in the meantime.

Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=31353

Changes in v8:
- rebased and resolved conflicts

Changes in v7:
- use thread control execution direction in print_no_history_reason()

Changes in v6:
- updated tests to use the new end-of-history wording from
089197010993b3a5dc50bf882470bab2de696d92

Changes in v5:
- remove redundant forward declaration

The changes are mostly in infrun and require global maintainer approval.

Markus Metzger (4):
gdb, infrun, btrace: fix reverse/replay stepping at end of execution
history
gdb, infrun, record: fix hang when step-over fails with no-history
gdb, infrun, record: move no-history notification into normal_stop
gdb, infrun: fix multi-threaded reverse stepping

gdb/gdbthread.h | 13 +++
gdb/infrun.c | 100 ++++++++++++-----
gdb/infrun.h | 7 --
gdb/record-btrace.c | 19 ++--
gdb/testsuite/gdb.btrace/cont-hang.exp | 43 ++++++++
.../gdb.btrace/implicit-stop-replaying.exp | 101 ++++++++++++++++++
.../gdb.btrace/multi-thread-break-hang.exp | 85 +++++++++++++++
gdb/testsuite/gdb.btrace/step-hang.exp | 42 ++++++++
gdb/testsuite/gdb.btrace/stepn.exp | 50 +++++++++
9 files changed, 418 insertions(+), 42 deletions(-)
create mode 100644 gdb/testsuite/gdb.btrace/cont-hang.exp
create mode 100644 gdb/testsuite/gdb.btrace/implicit-stop-replaying.exp
create mode 100644 gdb/testsuite/gdb.btrace/multi-thread-break-hang.exp
create mode 100644 gdb/testsuite/gdb.btrace/step-hang.exp
create mode 100644 gdb/testsuite/gdb.btrace/stepn.exp