[PATCH v6 0/9] Python bindings for btrace recordings

Tim Wiederhake
2017-02-13T12:38:14Z

Hello everyone!

This patch series adds Python bindings for btrace recordings.

V1 of this series can be found here:
https://sourceware.org/ml/gdb-patches/2016-10/msg00733.html

V2 of this series can be found here:
https://sourceware.org/ml/gdb-patches/2016-11/msg00084.html

V3 of this series can be found here:
https://sourceware.org/ml/gdb-patches/2016-11/msg00605.html

V4 of this series can be found here:
https://sourceware.org/ml/gdb-patches/2017-01/msg00044.html

V5 of this series can be found here:
https://sourceware.org/ml/gdb-patches/2017-01/msg00616.html

Changes from V5:
- Skip gdb.python/py-record-full.exp if recording is not supported.
- s/symbol/SAL/ in comment in py-record-btrace.c.
- Replaced mem_fileopen by string_file in py-record-btrace.c.
- Simplified btpy_list_count and added comment in py-record-btrace.c.
- Removed unused variable in recpy_bt_goto (leftover from previous refactoring)
in py-record-btrace.c.
- Moved opening curly braces to new line in py-record-btrace.c.

The documentation parts are already approved by Eli.

Is this good to go?

Tim

Tim Wiederhake (9):
btrace: Count gaps as one instruction explicitly.
btrace: Export btrace_decode_error function.
btrace: Use binary search to find instruction.
Add record_start and record_stop functions.
Add method to query current recording method to target_ops.
python: Create Python bindings for record history.
python: Implement btrace Python bindings for record history.
python: Add tests for record Python bindings
Add documentation for new record Python bindings.

gdb/Makefile.in | 6 +
gdb/NEWS | 4 +
gdb/btrace.c | 170 +++--
gdb/btrace.h | 21 +-
gdb/doc/python.texi | 245 ++++++
gdb/python/py-record-btrace.c | 1001 +++++++++++++++++++++++++
gdb/python/py-record-btrace.h | 49 ++
gdb/python/py-record-full.c | 39 +
gdb/python/py-record-full.h | 31 +
gdb/python/py-record.c | 275 +++++++
gdb/python/python-internal.h | 9 +
gdb/python/python.c | 14 +
gdb/record-btrace.c | 110 +--
gdb/record-full.c | 10 +
gdb/record.c | 42 ++
gdb/record.h | 21 +
gdb/target-debug.h | 2 +
gdb/target-delegates.c | 33 +
gdb/target.c | 8 +
gdb/target.h | 8 +
gdb/testsuite/gdb.python/py-record-btrace.c | 46 ++
gdb/testsuite/gdb.python/py-record-btrace.exp | 146 ++++
gdb/testsuite/gdb.python/py-record-full.c | 46 ++
gdb/testsuite/gdb.python/py-record-full.exp | 58 ++
24 files changed, 2256 insertions(+), 138 deletions(-)
create mode 100644 gdb/python/py-record-btrace.c
create mode 100644 gdb/python/py-record-btrace.h
create mode 100644 gdb/python/py-record-full.c
create mode 100644 gdb/python/py-record-full.h
create mode 100644 gdb/python/py-record.c
create mode 100644 gdb/testsuite/gdb.python/py-record-btrace.c
create mode 100644 gdb/testsuite/gdb.python/py-record-btrace.exp
create mode 100644 gdb/testsuite/gdb.python/py-record-full.c
create mode 100644 gdb/testsuite/gdb.python/py-record-full.exp

--
2.7.4