[PATCH 0/5] Python Unwinders and Inline Frames

Andrew Burgess
2020-06-17T17:38:15Z

I ran into an issue with Python frame unwinders and inline frames.
The fix for which is in patch #5 of this series.

In order to write a test for patch #5 I needed some extra
functionality from the Python API, which resulted in patches #2 - #4.

And while writing patch #2 I noticed the cleanup that's in patch #1.

Feedback welcome,

Thanks,
Andrew

---

Andrew Burgess (5):
gdb: Remove deprecated_set_gdbarch_data
gdb/python: Add architecture method to gdb.PendingFrame
gdb/python: Add gdb.Architecture.registers method
gdb/python: New method to access list of register groups
gdb: Fix Python unwinders and inline frames

gdb/ChangeLog | 61 +++
gdb/Makefile.in | 1 +
gdb/NEWS | 10 +
gdb/doc/ChangeLog | 21 +
gdb/doc/gdb.texinfo | 1 +
gdb/doc/python.texi | 70 +++
gdb/findvar.c | 28 +-
gdb/gdbarch.c | 22 +-
gdb/gdbarch.h | 3 -
gdb/gdbarch.sh | 25 +-
gdb/ia64-libunwind-tdep.c | 15 +-
gdb/python/py-arch.c | 45 ++
gdb/python/py-registers.c | 464 ++++++++++++++++++
gdb/python/py-unwind.c | 20 +
gdb/python/python-internal.h | 6 +
gdb/python/python.c | 1 +
gdb/testsuite/ChangeLog | 19 +
.../gdb.python/py-arch-reg-groups.exp | 87 ++++
.../gdb.python/py-arch-reg-names.exp | 87 ++++
gdb/testsuite/gdb.python/py-unwind-inline.c | 37 ++
gdb/testsuite/gdb.python/py-unwind-inline.exp | 49 ++
gdb/testsuite/gdb.python/py-unwind-inline.py | 71 +++
gdb/testsuite/gdb.python/py-unwind.py | 10 +-
gdb/user-regs.c | 18 +-
24 files changed, 1097 insertions(+), 74 deletions(-)
create mode 100644 gdb/python/py-registers.c
create mode 100644 gdb/testsuite/gdb.python/py-arch-reg-groups.exp
create mode 100644 gdb/testsuite/gdb.python/py-arch-reg-names.exp
create mode 100644 gdb/testsuite/gdb.python/py-unwind-inline.c
create mode 100644 gdb/testsuite/gdb.python/py-unwind-inline.exp
create mode 100644 gdb/testsuite/gdb.python/py-unwind-inline.py

--
2.25.4