This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]