From: Jonathan Wakely Date: Thu, 12 Aug 2021 18:56:14 +0000 (+0100) Subject: libstdc++: Install GDB pretty printers for debug library X-Git-Tag: basepoints/gcc-13~5381 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=db853ff78a34fef25bc16133e0367a64526f9f4e;p=thirdparty%2Fgcc.git libstdc++: Install GDB pretty printers for debug library The additional libraries installed by --enable-libstdcxx-debug are built without optimization to aid debugging, but the Python pretty printers are not installed alongside them. This means that you can step through the unoptimized library code, but at the expense of pretty printing the library types. This remedies the situation by installing another copy of the GDB hooks alongside the debug version of libstdc++.so. Signed-off-by: Jonathan Wakely libstdc++-v3/ChangeLog: * python/Makefile.am [GLIBCXX_BUILD_DEBUG] (install-data-local): Install another copy of the GDB hook. * python/Makefile.in: Regenerate. --- diff --git a/libstdc++-v3/python/Makefile.am b/libstdc++-v3/python/Makefile.am index 8efefa5725c4..bc4a26651d82 100644 --- a/libstdc++-v3/python/Makefile.am +++ b/libstdc++-v3/python/Makefile.am @@ -29,6 +29,12 @@ else pythondir = $(datadir)/gcc-$(gcc_version)/python endif +if GLIBCXX_BUILD_DEBUG +debug_gdb_py = YES +else +debug_gdb_py = +endif + all-local: gdb.py nobase_python_DATA = \ @@ -53,4 +59,8 @@ install-data-local: gdb.py $(DESTDIR)$(toolexeclibdir)/libstdc++.la`; \ fi; \ echo " $(INSTALL_DATA) gdb.py $(DESTDIR)$(toolexeclibdir)/$$libname-gdb.py"; \ - $(INSTALL_DATA) gdb.py $(DESTDIR)$(toolexeclibdir)/$$libname-gdb.py + $(INSTALL_DATA) gdb.py $(DESTDIR)$(toolexeclibdir)/$$libname-gdb.py ; \ + if [ -n "$(debug_gdb_py)" ]; then \ + sed "/^libdir = /s;'$$;/debug';" gdb.py > debug-gdb.py ; \ + $(INSTALL_DATA) debug-gdb.py $(DESTDIR)$(toolexeclibdir)/debug/$$libname-gdb.py ; \ + fi diff --git a/libstdc++-v3/python/Makefile.in b/libstdc++-v3/python/Makefile.in index 9904a9197de4..b3b56c41597e 100644 --- a/libstdc++-v3/python/Makefile.in +++ b/libstdc++-v3/python/Makefile.in @@ -403,6 +403,8 @@ WARN_CXXFLAGS = \ AM_CPPFLAGS = $(GLIBCXX_INCLUDES) $(CPPFLAGS) @ENABLE_PYTHONDIR_FALSE@pythondir = $(datadir)/gcc-$(gcc_version)/python @ENABLE_PYTHONDIR_TRUE@pythondir = $(prefix)/$(python_mod_dir) +@GLIBCXX_BUILD_DEBUG_FALSE@debug_gdb_py = +@GLIBCXX_BUILD_DEBUG_TRUE@debug_gdb_py = YES nobase_python_DATA = \ libstdcxx/v6/printers.py \ libstdcxx/v6/xmethods.py \ @@ -614,7 +616,11 @@ install-data-local: gdb.py $(DESTDIR)$(toolexeclibdir)/libstdc++.la`; \ fi; \ echo " $(INSTALL_DATA) gdb.py $(DESTDIR)$(toolexeclibdir)/$$libname-gdb.py"; \ - $(INSTALL_DATA) gdb.py $(DESTDIR)$(toolexeclibdir)/$$libname-gdb.py + $(INSTALL_DATA) gdb.py $(DESTDIR)$(toolexeclibdir)/$$libname-gdb.py ; \ + if [ -n "$(debug_gdb_py)" ]; then \ + sed "/^libdir = /s;'$$;/debug';" gdb.py > debug-gdb.py ; \ + $(INSTALL_DATA) debug-gdb.py $(DESTDIR)$(toolexeclibdir)/debug/$$libname-gdb.py ; \ + fi # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded.