This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[PATCH v4 0/9] Python bindings for btrace recordings
- From: Tim Wiederhake <tim dot wiederhake at intel dot com>
- To: gdb-patches at sourceware dot org
- Cc: markus dot t dot metzger at intel dot com
- Date: Wed, 4 Jan 2017 13:46:06 +0100
- Subject: [PATCH v4 0/9] Python bindings for btrace recordings
- Authentication-results: sourceware.org; auth=none
Hello everyone and happy new year!
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
The feedback I got for V3 (thank you, Doug, Eli and Markus!) resulted in the
following changes:
- Several small changes to documentation and comments
- btrace_find_insn_by_number now does less comparisons
- record_start now discrimates between "invalid method" and "invalid format"
- Added record_stop
- The tests for "full" and "btrace" recording are now split into seperate files
- btrace_insn_number can be called on instructions as well as on gaps
- extension.{c,h} could not help me getting rid of Python in core GDB.
I extended target_ops to provide the neccessary information in a
Python-agnostic way.
- Changed the name of the "symbol" function of Python "Instruction" objects to
"sal".
- Tried to reduce "yoda style" in "if" expressions where it would not make line
wrapping too horrible.
- And finally, I changed the copyright lines to "2016-2017"
Sorry for not responding to the individual mails, this is because many of the
issues are obsolete now with the different way of getting information from the
target.
Thank you for your feedback, I look forward to the next round.
- 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 | 244 ++++++
gdb/python/py-record-btrace.c | 1004 +++++++++++++++++++++++++
gdb/python/py-record-btrace.h | 51 ++
gdb/python/py-record-full.c | 41 +
gdb/python/py-record-full.h | 33 +
gdb/python/py-record.c | 277 +++++++
gdb/python/python-internal.h | 9 +
gdb/python/python.c | 14 +
gdb/record-btrace.c | 111 +--
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 | 48 ++
gdb/testsuite/gdb.python/py-record-btrace.exp | 142 ++++
gdb/testsuite/gdb.python/py-record-full.c | 48 ++
gdb/testsuite/gdb.python/py-record-full.exp | 50 ++
24 files changed, 2259 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