[PATCH v4 00/10] Extensions for PTWRITE

Felix Willgerodt felix.willgerodt@intel.com
Fri May 6 11:38:10 GMT 2022


Sorry again for taking so long to post another revision.  I very much plan to
keep at it this time to finally get this upstream.

The older revisions can be found here:
V1: https://sourceware.org/pipermail/gdb-patches/2019-May/157933.html
V2: https://sourceware.org/pipermail/gdb-patches/2021-June/179908.html
V3: https://sourceware.org/pipermail/gdb-patches/2021-June/180035.html

Here are the major changes from v3:
* Squashed former patch 9 and 10.
* Dropped the former patch 11 and rewrote the libipt support testing.
* Added nullptr check in patch 4.
* Addressed most of the comments in new patch 9
* Addressed most of the comments in new patch 10. And allowed
for 32-bit testing.

A lot of the patches 1-8 already got some sort of approval with some small
changes requested, which I addressed. But there were still some discussions
to which I responded recently.

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 listener registration.
  btrace: Extend ptwrite event decoding.

 gdb/NEWS                                      |   6 +
 gdb/btrace.c                                  |  65 ++-
 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                           |  33 +-
 gdb/doc/python.texi                           | 167 ++++++++
 gdb/extension-priv.h                          |   5 +
 gdb/extension.c                               |  14 +
 gdb/extension.h                               |   3 +
 gdb/features/btrace-conf.dtd                  |   1 +
 gdb/guile/guile.c                             |   1 +
 gdb/nat/linux-btrace.c                        |  29 ++
 gdb/python/lib/gdb/ptwrite.py                 |  86 ++++
 gdb/python/py-record-btrace.c                 | 156 ++++++-
 gdb/python/py-record-btrace.h                 |  11 +
 gdb/python/py-record.c                        |  89 +++-
 gdb/python/py-record.h                        |   3 +
 gdb/python/python-internal.h                  |   3 +
 gdb/python/python.c                           |   2 +
 gdb/record-btrace.c                           | 108 ++++-
 gdb/record.c                                  |  10 +
 gdb/record.h                                  |   5 +-
 gdb/remote.c                                  |  30 ++
 gdb/testsuite/gdb.btrace/i386-ptwrite.S       | 379 ++++++++++++++++++
 gdb/testsuite/gdb.btrace/ptwrite.c            |  37 ++
 gdb/testsuite/gdb.btrace/ptwrite.exp          | 219 ++++++++++
 gdb/testsuite/gdb.btrace/x86_64-ptwrite.S     | 374 +++++++++++++++++
 gdb/testsuite/gdb.python/py-record-btrace.exp |   6 +-
 gdb/testsuite/lib/gdb.exp                     | 153 +++++++
 gdbserver/linux-low.cc                        |   1 +
 gdbserver/server.cc                           |  15 +
 gdbsupport/btrace-common.h                    |   6 +
 gdbsupport/common.m4                          |   2 +
 gdbsupport/config.in                          |   3 +
 gdbsupport/configure                          |  11 +
 38 files changed, 2055 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

Intel Deutschland GmbH
Registered Address: Am Campeon 10, 85579 Neubiberg, Germany
Tel: +49 89 99 8853-0, www.intel.de <http://www.intel.de>
Managing Directors: Christin Eisenschmid, Sharon Heck, Tiffany Doon Silva  
Chairperson of the Supervisory Board: Nicole Lau
Registered Office: Munich
Commercial Register: Amtsgericht Muenchen HRB 186928



More information about the Gdb-patches mailing list