[v10,00/10] Extensions for PTWRITE

Message ID 20230718115637.3531-1-felix.willgerodt@intel.com
Headers
Series Extensions for PTWRITE |

Message

Willgerodt, Felix July 18, 2023, 11:56 a.m. UTC
  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