record-btrace: add (reverse-)stepping support
authorMarkus Metzger <markus.t.metzger@intel.com>
Mon, 6 May 2013 14:04:46 +0000 (16:04 +0200)
committerMarkus Metzger <markus.t.metzger@intel.com>
Thu, 16 Jan 2014 12:14:12 +0000 (13:14 +0100)
commit52834460bc1e8813c8cedd876dac7156b34fa60f
tree9ed83f5c20d5e1704354f07ae709bb5b94a5650c
parent118e6252ca1cabce6d4480a4f24c53e5456a2cfa
record-btrace: add (reverse-)stepping support

Provide to_resume and to_wait target methods for the btrace record target
to allow reverse stepping and replay support.

Replay is limited in the sense that only stepping and source correlation
are supported.  We do not record data and thus can not show variables.

Non-stop mode is not working.  Do not allow record-btrace in non-stop mode.

2014-01-16  Markus Metzger  <markus.t.metzger@intel.com>

* btrace.h (btrace_thread_flag): New.
(struct btrace_thread_info) <flags>: New.
* record-btrace.c (record_btrace_resume_thread)
(record_btrace_find_thread_to_move, btrace_step_no_history)
(btrace_step_stopped, record_btrace_start_replaying)
(record_btrace_step_thread, record_btrace_decr_pc_after_break)
(record_btrace_find_resume_thread): New.
(record_btrace_resume, record_btrace_wait): Extend.
(record_btrace_can_execute_reverse): New.
(record_btrace_open): Fail in non-stop mode.
(record_btrace_set_replay): Split into this, ...
(record_btrace_stop_replaying): ... this, ...
(record_btrace_clear_histories): ... and this.
(init_record_btrace_ops): Init to_can_execute_reverse.
* NEWS: Announce it.

testsuite/
* gdb.btrace/delta.exp: Check reverse stepi.
* gdb.btrace/tailcall.exp: Update.  Add stepping tests.
* gdb.btrace/finish.exp: New.
* gdb.btrace/next.exp: New.
* gdb.btrace/nexti.exp: New.
* gdb.btrace/record_goto.c: Add comments.
* gdb.btrace/step.exp: New.
* gdb.btrace/stepi.exp: New.
* gdb.btrace/multi-thread-step.c: New.
* gdb.btrace/multi-thread-step.exp: New.
* gdb.btrace/rn-dl-bind.c: New.
* gdb.btrace/rn-dl-bind.exp: New.
* gdb.btrace/data.c: New.
* gdb.btrace/data.exp: New.
* gdb.btrace/Makefile.in (EXECUTABLES): Add new.

doc/
* gdb.texinfo: Document limited reverse/replay support
for target record-btrace.
22 files changed:
gdb/ChangeLog
gdb/NEWS
gdb/btrace.h
gdb/doc/ChangeLog
gdb/doc/gdb.texinfo
gdb/record-btrace.c
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.btrace/Makefile.in
gdb/testsuite/gdb.btrace/data.c [new file with mode: 0644]
gdb/testsuite/gdb.btrace/data.exp [new file with mode: 0644]
gdb/testsuite/gdb.btrace/delta.exp
gdb/testsuite/gdb.btrace/finish.exp [new file with mode: 0644]
gdb/testsuite/gdb.btrace/multi-thread-step.c [new file with mode: 0644]
gdb/testsuite/gdb.btrace/multi-thread-step.exp [new file with mode: 0644]
gdb/testsuite/gdb.btrace/next.exp [new file with mode: 0644]
gdb/testsuite/gdb.btrace/nexti.exp [new file with mode: 0644]
gdb/testsuite/gdb.btrace/record_goto.c
gdb/testsuite/gdb.btrace/rn-dl-bind.c [new file with mode: 0644]
gdb/testsuite/gdb.btrace/rn-dl-bind.exp [new file with mode: 0644]
gdb/testsuite/gdb.btrace/step.exp [new file with mode: 0644]
gdb/testsuite/gdb.btrace/stepi.exp [new file with mode: 0644]
gdb/testsuite/gdb.btrace/tailcall.exp
This page took 0.02682 seconds and 4 git commands to generate.