GDB, the GNU Project debugger, allows you to see what is going on “inside” another program while it executes -- or what another program was doing at the moment it crashed. Note that GDB is most effective when tracing programs and libraries that were built with debugging symbols and not stripped.
This package is known to build and work properly using an LFS-11.1 platform.
Download (HTTP): https://ftp.gnu.org/gnu/gdb/gdb-11.2.tar.xz
Download (FTP): ftp://ftp.gnu.org/gnu/gdb/gdb-11.2.tar.xz
Download MD5 sum: 433bd0904caa31c247b1b1867f2f911d
Download size: 21 MB
Estimated disk space required: 674 MB (add 729 MB for docs; add 538 MB for tests)
Estimated build time: 1.8 SBU (Using parallelism=4; add 0.5 SBU for docs; add 30 SBU for tests)
six-1.16.0 (Python 3 module, required at run-time to use GDB scripts from various LFS/BLFS packages with Python 3 installed in LFS)
Doxygen-1.9.3, GCC-11.2.0 (ada, gfortran, and go are used for tests), Guile-3.0.8, Python-2.7.18, rustc-1.58.1 (used for some tests), Valgrind-3.18.1, and SystemTap (run-time, used for tests)
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/gdb
First, apply some changes from upstream to fix issues with glibc-2.35:
patch -Np1 -i ../gdb-11.2-upstream_fixes-1.patch
Install GDB by running the following commands:
mkdir build && cd build && ../configure --prefix=/usr \ --with-system-readline \ --with-python=/usr/bin/python3 && make
Optionally, to build the API documentation using Doxygen-1.9.3, run:
make -C gdb/doc doxy
To test the results, issue:
pushd gdb/testsuite && make site.exp && echo "set gdb_test_timeout 120" >> site.exp && runtest popd
See gdb/testsuite/README and TestingGDB. There are many problems with the test suite:
Clean directories are needed if re-running the tests. For that reason, make a copy of the compiled source code directory before the tests in case you need to run the tests again.
Results depend on installed compilers.
A few tests assume that the header file <sys/sdt.h>
, part of SystemTap, is
present.
A test run of the test suite had about 1700 unexpected failures (out of over 80000 tests). Over 1370 of the failures were related to FORTRAN tests.
On some systems, the gdb.tui test suite will fail if running over SSH.
On some AMD-based systems, over 200 additional tests may fail due to a difference in the threading implementation on those CPUs.
Now, as the root
user:
make -C gdb install
If you have built the API documentation, it is now in gdb/doc/doxy.
You can install it (as the root
user):
install -d /usr/share/doc/gdb-11.2 && rm -rf gdb/doc/doxy/xml && cp -Rv gdb/doc/doxy /usr/share/doc/gdb-11.2
--with-system-readline
:
This switch forces GDB to use the
copy of Readline installed in LFS.
--with-python=/usr/bin/python3
: This
switch forces GDB to use Python 3.
Remove this switch if you have installed Python-2.7.18 and want to
use it instead of Python 3.
Last updated on