Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

1.33. gdb

1.33.1. RHBA-2011:0099: bug fix update

An updated gdb package that fixes various bugs is now available.
GDB, the GNU debugger, allows debugging of programs written in C, C++, and other languages by executing them in a controlled fashion and then printing their data.
This update fixes the following bugs:
* When the gcore utility created a core file for any executable which was compiled with the "-Wl,-z,relro" parameter, GDB was unable to open the core file because it did not contain the list of shared libraries. This is fixed in this update and the core files of executables created with the "-Wl,-z,relro" parameter can be opened in GDB as expected. ( BZ#623749)
* GDB terminated unexpectedly when an inferior shared library list changed during an inferior function call, for example by the dlopen() function. GDB now remains stable in this case. ( BZ#623219)
* GDB displayed invalid content of some variables. Separate debuginfo files installed for executables caused this behavior when the prelink program optimized the executable with copy relocations. GDB now displays the contents of all the variables correctly. ( BZ#614806)
* GDB could have failed to backtrace some functions of binaries. This occurred when some of the source files of a single binary were compiled with debug information (gcc -g), and some without it. With this update, GDB finds all Call Frame Information (CFI) present in the binary and backtraces correctly. ( BZ#614028)
* When debugging a C++ program, GDB displayed values of simple data types as they were implemented. With the Python Pretty-Printers feature, GDB is now able to display such values in a human-readable format. ( BZ#609157)
* For C++ classes, the ptype command did not display types defined with typedef in a class. The ptype command now displays class data fields, methods, and types defined in a class. To ensure that typedefs are located inside a templated class, the "-fno-eliminate-unused-debug-types" option must be passed to g++ when compiling the program to be debugged. Note that this feature is only available for executables compiled with GCC provided with Red Hat Enterprise Linux 5. ( BZ#602355)
* An SIGILL signal could have terminated a multithreaded program while the programs were being debugged in GDB. GDB processed a queued SIGILL signal even if the user deleted the signal's breakpoint. In such case, the SIGILL signal could break the inferior. GDB now recognizes these cases at the moment when signaled by the target program and ignores the SIGILL signal for a deleted breakpoint. ( BZ#601709)
* GDB could have lost important debugging information provided by the siginfo_t part of a POSIX signal during the debugging process. GDB now preserves the associated siginfo_t information, and debugging is now transparent to the application, even in multithreaded programs with the setuid() function. ( BZ#592031)
* A failed assertion could have occurred when a user activated GDB's Text User Interface (TUI). With this update, GDB's TUI works correctly. ( BZ#586566)
* The gstack shell script caused the omission of the first line of backtraces. This has been fixed in this update. ( BZ#579793)
* GDB returned an error message when the user attempted to quit. The error message appeared if GDB loaded an executable file and a core file, and the execution was not finished when the user attempted to quit. With this update, GDB automatically removes the core file when starting another inferior execution. ( BZ#575232)
* GDB automatically reloads changed binary files from the disk before creating a new instance of the inferior. However, GDB could have terminated unexpectedly when doing so. With this update, this no longer occurs. ( BZ#569235)
* When running the gcore command, GDB could have prompted the user to allow pagination and then fail. This occurred if the terminal window was too small for the output returned by the external gcore program. With this update, the gcore standalone command runs non-interactively. ( BZ#555076)
All users of gdb are advised to upgrade to this updated package, which resolves these issues.

1.33.2. RHBA-2010:0599: bug fix update

Updated gdb packages that resolve an issue with threads on ia64 are now available.
The GNU debugger, gdb, allows the debugging of programs written in C, C++, and other languages by executing them in a controlled fashion and then printing out their data.
This update resolves the following issue:
* multi-threaded target programs could get terminated by the SIGILL (Illegal instruction) signal when being debugged using gdb and the breakpoint was deleted before the second SIGILL was reported to the user. The updated gdb package now recognizes these cases already when they get signaled by the target program and the breakpoint is still in place. ( BZ#616315)
All gdb users are advised to upgrade to this updated package, which resolves this issue.

1.33.3. RHBA-2010:0417: bug fix update

Updated gdb packages that resolve an issue in the gstack shell script are now available.
The GNU debugger, gdb, allows the debugging of programs written in C, C++, and other languages by executing them in a controlled fashion and then printing out their data.
This update resolves the following issue:
* a bug in the gstack shell script suppressed the first line of a backtrace. The first line uses frame identification #0 and lists the current execution point (PC address). (Note: gstack can also be executed under the name "pstack".) This update corrects /usr/bin/gstack which now prints the entire backtrace including the first line. ( BZ#580833)
All gdb users are advised to upgrade to these updated packages, which resolve this issue.