[PATCH v3 00/19] record btrace: non-stop, scheduler-locking, and ASNS

Markus Metzger
2015-09-17T14:10:03Z

Changes to v2:
- renamed the new scheduler-locking mode from "reverse" to "replay"
- added to_record_will_replay target method to support the case where
record full records during reverse execution
- added support for scheduler-locking for all-stop targets

Changes to v1:
- reworked non-stop test
- changed the error string when trying to store registers while replaying
- fixed all-stop/non-stop confusion in comments

This patch series adds support for non-stop mode to the record btrace target
and prepares for all-stop on top of non-stop (ASNS).

It adds a new scheduler-locking mode "reverse" for the current record btrace
behaviour of scheduler-locking during reverse/replay execution.

I tested this with the current all-stop and with Pedro's ASNS (by reverting
his disable patch).

The patch series can also be found on branch users/mmetzger/btrace-non-stop.

Markus Metzger (19):
btrace: fix non-stop check in to_wait
btrace: support to_stop
btrace: improve stepping debugging
btrace: extract the breakpoint check from record_btrace_step_thread
btrace: split record_btrace_step_thread
btrace: move breakpoint checking into stepping functions
btrace: add missing NO_HISTORY
btrace: lock-step
btrace: resume all requested threads
btrace: temporarily set inferior_ptid in record_btrace_start_replaying
btrace: async
infrun: switch to NO_HISTORY thread
btrace: non-stop
target, record: add PTID argument to to_record_is_replaying
btrace: allow full memory and register access for non-replaying
threads
target: add to_record_stop_replaying target method
target: add to_record_will_replay target method
infrun: scheduler-locking replay
btrace: honour scheduler-locking for all-stop targets

gdb/NEWS | 5 +
gdb/btrace.h | 5 +-
gdb/doc/gdb.texinfo | 25 +-
gdb/infrun.c | 47 +-
gdb/record-btrace.c | 751 ++++++++++++++++++-------
gdb/record-full.c | 25 +-
gdb/record.c | 2 +-
gdb/target-delegates.c | 73 ++-
gdb/target.c | 20 +-
gdb/target.h | 21 +-
gdb/testsuite/gdb.btrace/multi-thread-step.exp | 233 +++++---
gdb/testsuite/gdb.btrace/non-stop.c | 45 ++
gdb/testsuite/gdb.btrace/non-stop.exp | 245 ++++++++
13 files changed, 1182 insertions(+), 315 deletions(-)
create mode 100644 gdb/testsuite/gdb.btrace/non-stop.c
create mode 100644 gdb/testsuite/gdb.btrace/non-stop.exp

--
1.8.3.1