Red Hat Training

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

4.50. gdb

An updated gdb package that fixes a bug is now available for Red Hat Enterprise Linux 5.
The GNU Debugger (GDB) allows debugging of programs written in C, C++, Java, and other languages by executing them in a controlled fashion and then printing out their data.

Bug Fix

BZ#728151
When the GDB convenience variable contained a structure, accessing a field of this structure caused a GDB internal error. The code has been modified to ensure that internal setting of field address is not executed for GDB convenience variables. As result, GDB can now access fields of structures stored in convenience variables.
All users of gdb are advised to upgrade to this updated package, which resolves this issue.
An updated gdb package that fixes multiple bugs is now available for Red Hat Enterprise Linux 5.
The GNU Debugger (GDB) allows users to debug programs written in C, C++, and other languages by executing them in a controlled fashion and then printing out their data.

Bug Fixes

BZ#658851
GDB could stop with an error when trying to access the libpthread shared library before the library was relocated. With this update, GDB lets the library relocations be resolved first, allowing GDB to debug programs properly under these circumstances.
BZ#696148
Modifying a string in the executable using the "-write" command line option could fail with an error if the executable was not running. With this update, GDB can modify executables even before they are started.
BZ#720717
When printing data from a string buffer of constant size, GDB, by default, also prints the data following after the first zero byte ("\0") of the string. To display only the data before the zero byte, the "set print null-stop" option has to be set. Previously with this option set, GDB did not display any string content due to an incorrect zero byte test condition in the code. The test condition has been corrected and GDB now properly displays data located before the first zero byte.
BZ#727726
GDB convenience variables allow a user to store and retrieve arbitrary data of arbitrary data types. Previously, when the GDB convenience variable contained a structure data type, accessing a field of the structure caused an internal error. With this update, this problem has been corrected, and GDB now works with structure convenience variables correctly.
BZ#748267
When loading a core dump file for debugging, GDB could incorrectly interpret inappropriate memory content as the pthread_t identifier if the version of the glibc library installed on the system did not match the glibc version used to create the core dump file. Consequently, initialization of the libthread_db library failed due to an unexpected value of pthread_t, which led to a GDB internal error. With this update, GDB only displays a warning message and successfully loads the core file. Instead of the pthread_t identifiers, which are unavailable in this failure scenario, GDB displays the LWP (light-weight process) identifiers that match the Linux TID (Thread Identifier) values of the threads found in the core file.
All GDB users are advised to upgrade to this updated package, which fixes these bugs.