buildroot.busybox.net archive mirror
 help / color / mirror / Atom feed
* [Buildroot] [PATCHv2 0/3] Fix gdb pretty printers for libstdcxx
@ 2021-06-08 15:18 Thomas De Schampheleire
  2021-06-08 15:18 ` [Buildroot] [PATCHv2 1/3] package/gdb: fix gdb 9.2 segfault with Python 3.9 support Thomas De Schampheleire
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Thomas De Schampheleire @ 2021-06-08 15:18 UTC (permalink / raw)
  To: buildroot

From: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>

Hello,

This series fixes the gdb pretty printers for libstdcxx, provided by gcc.

Patch 1 fixes a segfault in gdb 9.2 when Python 3 support is enabled. The fix is
already present in gdb 10.1+.

Patch 2 makes sure that the auto-load file provided by gcc for libstdcxx
pretty-printers, is using valid paths, rather than the paths the external
toolchain was built with.

Finally, patch 3 makes sure that gdb will actually load the fixed auto-load
file, by adding the buildroot sysroot as a 'safe path' in gdbinit.


After this series, it suffices to start up gdb, load the buildroot-provided
gdbinit file, and start debugging a binary. From the moment libstdcxx.so is
loaded, gdb will automatically load the pretty-printer file. Printing C++ STL
objects like std::map, std::vector, etc. will now be shown in the 'pretty'
manner. In order to show the 'raw' object without pretty-printing, use the '/r'
modifier to the 'print' command.

Note: the pretty-printing logic is written in Python, so Python support for
host-gdb needs to be enabled.

Best regards,
Thomas

---
v2:
- handle cases with more than one loadfile and more than one pythondir
- make command silent with $(Q)

Thomas De Schampheleire (3):
  package/gdb: fix gdb 9.2 segfault with Python 3.9 support
  toolchain/toolchain-external: fixup gdb pretty-printer loader for
    libstdcxx
  toolchain: mark sysroot as 'safe' path for gdb auto-load

 ...x-Python3.9-related-runtime-problems.patch | 227 ++++++++++++++++++
 toolchain/helpers.mk                          |   3 +-
 .../pkg-toolchain-external.mk                 |  21 ++
 3 files changed, 250 insertions(+), 1 deletion(-)
 create mode 100644 package/gdb/9.2/0007-Fix-Python3.9-related-runtime-problems.patch

-- 
2.26.3

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2021-08-05 11:10 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-08 15:18 [Buildroot] [PATCHv2 0/3] Fix gdb pretty printers for libstdcxx Thomas De Schampheleire
2021-06-08 15:18 ` [Buildroot] [PATCHv2 1/3] package/gdb: fix gdb 9.2 segfault with Python 3.9 support Thomas De Schampheleire
2021-07-25 21:21   ` Thomas Petazzoni
2021-08-05 11:10   ` Peter Korsgaard
2021-06-08 15:18 ` [Buildroot] [PATCHv2 2/3] toolchain/toolchain-external: fixup gdb pretty-printer loader for libstdcxx Thomas De Schampheleire
2021-07-25 21:23   ` Thomas Petazzoni
2021-06-08 15:18 ` [Buildroot] [PATCHv2 3/3] toolchain: mark sysroot as 'safe' path for gdb auto-load Thomas De Schampheleire
2021-07-25 21:23   ` Thomas Petazzoni

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).