[PATCH v10 00/28] record-btrace: reverse

Markus Metzger
2014-01-14T08:05:19Z

This is a smaller update addressing Pedro's feedback.

The "target: add ops parameter to to_prepare_to_store method" patch has
been replaced with Tom's "Add target_ops argument to to_prepare_to_store"
patch.

In "record-btrace: provide xfer_partial target method" xfer_partial now
returns an error code instead of throwing an error.

The "frame: add frame_is_tailcall function" patch has been dropped since
it is no longer needed. Btrace frames use NORMAL_FRAME and TAILCALL_FRAME
instead of new BTRACE_ variants.

An indentation error where the indentation in "record function-call-history"
had been off by two spaces in some cases has been fixed.

Markus Metzger (28):
btrace, test: fix multi-line btrace tests
btrace, linux: fix memory leak when reading branch trace
btrace: uppercase btrace_read_type
gdbarch: add instruction predicate methods
frame: add frame_id_build_unavailable_stack_special
btrace: change branch trace data structure
record-btrace: fix insn range in function call history
record-btrace: start counting at one
btrace: increase buffer size
record-btrace: optionally indent function call history
record-btrace: make ranges include begin and end
btrace: add replay position to btrace thread info
Add target_ops argument to to_prepare_to_store
record-btrace: supply register target methods
frame, backtrace: allow targets to supply a frame unwinder
frame, cfa: check unwind stop reason first
frame: do not assume unwinding will succeed
record-btrace, frame: supply target-specific unwinder
target, breakpoint: allow insert/remove breakpoint to be forwarded
record-btrace: provide xfer_partial target method
record-btrace: add to_wait and to_resume target methods.
record-btrace: provide target_find_new_threads method
record-btrace: add record goto target methods
record-btrace: extend unwinder
btrace, gdbserver: read branch trace incrementally
record-btrace: show trace from enable location
target: allow decr_pc_after_break to be defined by the target
record-btrace: add (reverse-)stepping support

gdb/NEWS | 27 +
gdb/aix-thread.c | 2 +-
gdb/amd64-linux-nat.c | 6 +-
gdb/amd64-tdep.c | 67 +
gdb/arch-utils.c | 15 +
gdb/arch-utils.h | 4 +
gdb/btrace.c | 1627 +++++++++++++++----
gdb/btrace.h | 269 +++-
gdb/common/btrace-common.h | 29 +-
gdb/common/linux-btrace.c | 125 +-
gdb/common/linux-btrace.h | 15 +-
gdb/corelow.c | 3 +-
gdb/darwin-nat.c | 4 +-
gdb/doc/gdb.texinfo | 32 +-
gdb/dwarf2-frame.c | 14 +-
gdb/exec.c | 3 +-
gdb/frame-unwind.c | 86 +-
gdb/frame.c | 25 +-
gdb/frame.h | 8 +
gdb/gdbarch.c | 72 +
gdb/gdbarch.h | 18 +
gdb/gdbarch.sh | 9 +
gdb/gdbserver/linux-low.c | 36 +-
gdb/gdbserver/server.c | 15 +-
gdb/gdbserver/target.h | 9 +-
gdb/go32-nat.c | 5 +-
gdb/i386-linux-nat.c | 6 +-
gdb/i386-tdep.c | 59 +
gdb/inf-child.c | 3 +-
gdb/infrun.c | 9 +-
gdb/linux-nat.c | 4 +-
gdb/linux-thread-db.c | 2 +-
gdb/mem-break.c | 4 +-
gdb/monitor.c | 6 +-
gdb/nto-procfs.c | 6 +-
gdb/ravenscar-thread.c | 8 +-
gdb/record-btrace.c | 1652 +++++++++++++++++---
gdb/record-full.c | 57 +-
gdb/record.c | 4 +
gdb/record.h | 7 +
gdb/remote-m32r-sdi.c | 8 +-
gdb/remote-mips.c | 13 +-
gdb/remote-sim.c | 5 +-
gdb/remote.c | 42 +-
gdb/target.c | 131 +-
gdb/target.h | 74 +-
gdb/testsuite/gdb.btrace/Makefile.in | 4 +-
gdb/testsuite/gdb.btrace/data.c | 36 +
gdb/testsuite/gdb.btrace/data.exp | 45 +
gdb/testsuite/gdb.btrace/delta.exp | 83 +
gdb/testsuite/gdb.btrace/exception.cc | 56 +
gdb/testsuite/gdb.btrace/exception.exp | 70 +
gdb/testsuite/gdb.btrace/finish.exp | 59 +
gdb/testsuite/gdb.btrace/function_call_history.exp | 322 ++--
gdb/testsuite/gdb.btrace/instruction_history.exp | 80 +-
gdb/testsuite/gdb.btrace/multi-thread-step.c | 53 +
gdb/testsuite/gdb.btrace/multi-thread-step.exp | 135 ++
gdb/testsuite/gdb.btrace/next.exp | 76 +
gdb/testsuite/gdb.btrace/nexti.exp | 76 +
gdb/testsuite/gdb.btrace/record_goto.c | 51 +
gdb/testsuite/gdb.btrace/record_goto.exp | 183 +++
gdb/testsuite/gdb.btrace/rn-dl-bind.c | 37 +
gdb/testsuite/gdb.btrace/rn-dl-bind.exp | 52 +
gdb/testsuite/gdb.btrace/step.exp | 89 ++
gdb/testsuite/gdb.btrace/stepi.exp | 93 ++
gdb/testsuite/gdb.btrace/tailcall.exp | 92 ++
gdb/testsuite/gdb.btrace/unknown_functions.c | 45 +
gdb/testsuite/gdb.btrace/unknown_functions.exp | 62 +
gdb/testsuite/gdb.btrace/x86-record_goto.S | 355 +++++
gdb/testsuite/gdb.btrace/x86-tailcall.S | 279 ++++
gdb/testsuite/gdb.btrace/x86-tailcall.c | 39 +
gdb/windows-nat.c | 2 +-
72 files changed, 6127 insertions(+), 972 deletions(-)
create mode 100644 gdb/testsuite/gdb.btrace/data.c
create mode 100644 gdb/testsuite/gdb.btrace/data.exp
create mode 100644 gdb/testsuite/gdb.btrace/delta.exp
create mode 100644 gdb/testsuite/gdb.btrace/exception.cc
create mode 100755 gdb/testsuite/gdb.btrace/exception.exp
create mode 100644 gdb/testsuite/gdb.btrace/finish.exp
create mode 100644 gdb/testsuite/gdb.btrace/multi-thread-step.c
create mode 100644 gdb/testsuite/gdb.btrace/multi-thread-step.exp
create mode 100644 gdb/testsuite/gdb.btrace/next.exp
create mode 100644 gdb/testsuite/gdb.btrace/nexti.exp
create mode 100644 gdb/testsuite/gdb.btrace/record_goto.c
create mode 100644 gdb/testsuite/gdb.btrace/record_goto.exp
create mode 100644 gdb/testsuite/gdb.btrace/rn-dl-bind.c
create mode 100644 gdb/testsuite/gdb.btrace/rn-dl-bind.exp
create mode 100644 gdb/testsuite/gdb.btrace/step.exp
create mode 100644 gdb/testsuite/gdb.btrace/stepi.exp
create mode 100644 gdb/testsuite/gdb.btrace/tailcall.exp
create mode 100644 gdb/testsuite/gdb.btrace/unknown_functions.c
create mode 100644 gdb/testsuite/gdb.btrace/unknown_functions.exp
create mode 100644 gdb/testsuite/gdb.btrace/x86-record_goto.S
create mode 100644 gdb/testsuite/gdb.btrace/x86-tailcall.S
create mode 100644 gdb/testsuite/gdb.btrace/x86-tailcall.c

--
1.8.3.1