[PATCH v2 00/13] record btrace: prepare for a new trace format

Markus Metzger
2014-11-20T10:47:42Z

Changes to v1:
- incorporated Pedro's comments
- moved btrace-common from common/ into nat/ and renamed to x86-btrace
- changed "btrace, linux: add perf event buffer abstraction" and
"[wip] btrace: support Intel(R) Processor Trace" to support
a new kernel interface: https://lkml.org/lkml/2014/11/14/292.

This is the first part of a patch series that adds support for a new trace
format. The entire series consists of three parts:

- preparation (this)
- support live inferior tracing
- support trace in core files

Besides preparing for an additional trace format, this first part adds the
following functionality:

- allow the trace buffer size to be configured
- indicate errors as gaps in the trace

In order to motivate some patches (e.g. identifying the cpu or changing the
btrace_compute_ftrace parameters), I also send a work-in-progress version of the
second part that adds support for the new trace format. This patch is not part
of the series under review.

Markus Metzger (13):
btrace: add struct btrace_data
btrace: add format argument to supports_btrace
btrace, linux: add perf event buffer abstraction
record btrace: add configuration struct
record-btrace: add bts buffer size configuration option
btrace: update btrace_compute_ftrace parameters
btrace: extend struct btrace_insn
btrace: move and rename btrace-common
btrace: identify cpu
btrace: use the new cpu identifier
record-btrace: indicate gaps
configure: check for libipt
[wip] btrace: support Intel(R) Processor Trace

gdb/Makefile.in | 16 +-
gdb/NEWS | 35 +
gdb/btrace.c | 899 ++++++++++++++++++++---
gdb/btrace.h | 100 ++-
gdb/common/btrace-common.h | 90 ---
gdb/config.in | 3 +
gdb/configure | 498 +++++++++++++
gdb/configure.ac | 20 +
gdb/doc/gdb.texinfo | 255 ++++++-
gdb/features/btrace-conf.dtd | 14 +
gdb/features/btrace.dtd | 16 +-
gdb/gdbserver/Makefile.in | 8 +-
gdb/gdbserver/linux-low.c | 147 +++-
gdb/gdbserver/server.c | 214 +++++-
gdb/gdbserver/target.h | 27 +-
gdb/nat/linux-btrace.c | 722 ++++++++++++++----
gdb/nat/linux-btrace.h | 86 ++-
gdb/nat/x86-btrace.c | 129 ++++
gdb/nat/x86-btrace.h | 224 ++++++
gdb/record-btrace.c | 477 ++++++++++--
gdb/remote.c | 203 ++++-
gdb/target-debug.h | 8 +
gdb/target-delegates.c | 65 +-
gdb/target.c | 22 +-
gdb/target.h | 37 +-
gdb/testsuite/gdb.btrace/buffer-size.exp | 57 ++
gdb/testsuite/gdb.btrace/delta.exp | 12 +-
gdb/testsuite/gdb.btrace/enable.exp | 4 +-
gdb/testsuite/gdb.btrace/finish.exp | 3 +-
gdb/testsuite/gdb.btrace/instruction_history.exp | 2 +-
gdb/testsuite/gdb.btrace/next.exp | 6 +-
gdb/testsuite/gdb.btrace/nexti.exp | 6 +-
gdb/testsuite/gdb.btrace/nohist.exp | 3 +-
gdb/testsuite/gdb.btrace/step.exp | 6 +-
gdb/testsuite/gdb.btrace/stepi.exp | 6 +-
gdb/x86-linux-nat.c | 18 +-
36 files changed, 3931 insertions(+), 507 deletions(-)
delete mode 100644 gdb/common/btrace-common.h
create mode 100644 gdb/features/btrace-conf.dtd
create mode 100644 gdb/nat/x86-btrace.c
create mode 100644 gdb/nat/x86-btrace.h
create mode 100644 gdb/testsuite/gdb.btrace/buffer-size.exp

--
1.8.3.1