[PATCH v10 00/10] Extensions for PTWRITE

Felix Willgerodt via Gdb-patches
2023-07-18T11:57:23Z

From: "Willgerodt, Felix" <felix.willgerodt@intel.com>

v9 can be found here: https://sourceware.org/pipermail/gdb-patches/2023-July/200621.html

I only fixed some small comments by Eli and Tom (thanks!).
But I thought I would post it again anyway. I think what is missing
is another look from Markus and Simon on the new changes since
Simon's review of v7. Those were in patches 5, 8, 9 and 10.

Changes since v9:
* Patch 06: Added NEWS entry.
* Patch 09: Improved and new checks for return values in recpy_call_filter.
* Patch 10: Moved NEWS entry to the right section. Fixed small /doc nit..

Thanks,
Felix

Felix Willgerodt (10):
btrace: Introduce auxiliary instructions.
btrace: Enable auxiliary instructions in record instruction-history.
btrace: Enable auxiliary instructions in record function-call-history.
btrace: Handle stepping and goto for auxiliary instructions.
python: Introduce gdb.RecordAuxiliary class.
python: Add clear() to gdb.Record.
btrace, gdbserver: Add ptwrite to btrace_config_pt.
btrace, linux: Enable ptwrite packets.
btrace, python: Enable ptwrite filter registration.
btrace: Extend ptwrite event decoding.

gdb/NEWS | 10 +
gdb/btrace.c | 72 ++-
gdb/btrace.h | 41 +-
gdb/config.in | 3 +
gdb/configure | 11 +
gdb/data-directory/Makefile.in | 1 +
gdb/disasm-flags.h | 1 +
gdb/doc/gdb.texinfo | 32 +-
gdb/doc/python.texi | 167 ++++++
gdb/extension-priv.h | 5 +
gdb/extension.c | 13 +
gdb/extension.h | 3 +
gdb/features/btrace-conf.dtd | 1 +
gdb/guile/guile.c | 1 +
gdb/nat/linux-btrace.c | 58 ++
gdb/python/lib/gdb/ptwrite.py | 77 +++
gdb/python/py-record-btrace.c | 197 ++++++-
gdb/python/py-record-btrace.h | 6 +
gdb/python/py-record.c | 78 ++-
gdb/python/py-record.h | 7 +
gdb/python/python-internal.h | 3 +
gdb/python/python.c | 2 +
gdb/record-btrace.c | 105 +++-
gdb/record.c | 10 +
gdb/record.h | 5 +-
gdb/remote.c | 33 ++
gdb/testsuite/gdb.btrace/i386-ptwrite.S | 550 ++++++++++++++++++
gdb/testsuite/gdb.btrace/ptwrite.c | 39 ++
gdb/testsuite/gdb.btrace/ptwrite.exp | 202 +++++++
gdb/testsuite/gdb.btrace/x86_64-ptwrite.S | 544 +++++++++++++++++
gdb/testsuite/gdb.python/py-record-btrace.exp | 4 +
gdb/testsuite/lib/gdb.exp | 72 +++
gdbserver/linux-low.cc | 3 +
gdbserver/server.cc | 18 +
gdbsupport/btrace-common.h | 6 +
gdbsupport/common.m4 | 2 +
gdbsupport/config.in | 3 +
gdbsupport/configure | 11 +
38 files changed, 2361 insertions(+), 35 deletions(-)
create mode 100644 gdb/python/lib/gdb/ptwrite.py
create mode 100644 gdb/testsuite/gdb.btrace/i386-ptwrite.S
create mode 100644 gdb/testsuite/gdb.btrace/ptwrite.c
create mode 100644 gdb/testsuite/gdb.btrace/ptwrite.exp
create mode 100644 gdb/testsuite/gdb.btrace/x86_64-ptwrite.S

--
2.34.1