diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2021-08-12 19:56:14 +0100 |
---|---|---|
committer | Jonathan Wakely <jwakely@redhat.com> | 2021-08-16 17:51:42 +0100 |
commit | db853ff78a34fef25bc16133e0367a64526f9f4e (patch) | |
tree | efc33ee3625dd9cbf0abd076ec1e08b7a2879ab3 | |
parent | 8cdcea51c0fd753e6a652c9b236e91b3a6e0911c (diff) | |
download | gcc-db853ff78a34fef25bc16133e0367a64526f9f4e.zip gcc-db853ff78a34fef25bc16133e0367a64526f9f4e.tar.gz gcc-db853ff78a34fef25bc16133e0367a64526f9f4e.tar.bz2 |
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 <jwakely@redhat.com>
libstdc++-v3/ChangeLog:
* python/Makefile.am [GLIBCXX_BUILD_DEBUG] (install-data-local):
Install another copy of the GDB hook.
* python/Makefile.in: Regenerate.
-rw-r--r-- | libstdc++-v3/python/Makefile.am | 12 | ||||
-rw-r--r-- | libstdc++-v3/python/Makefile.in | 8 |
2 files changed, 18 insertions, 2 deletions
diff --git a/libstdc++-v3/python/Makefile.am b/libstdc++-v3/python/Makefile.am index 8efefa5..bc4a266 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 9904a91..b3b56c4 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. |