- Issued:
- 2011-01-13
- Updated:
- 2011-01-13
RHBA-2011:0099 - Bug Fix Advisory
Synopsis
gdb bug fix update
Type/Severity
Bug Fix Advisory
Red Hat Insights patch analysis
Identify and remediate systems affected by this advisory.
Topic
An updated gdb package that fixes various bugs is now available.
Description
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.
Solution
Before applying this update, make sure that all previously-released errata
relevant to your system have been applied.
This update is available via Red Hat Network. Details on how to use the Red Hat
Network to apply this update are available at
https://access.redhat.com/kb/docs/DOC-11259
Affected Products
- Red Hat Enterprise Linux Server 5 x86_64
- Red Hat Enterprise Linux Server 5 ia64
- Red Hat Enterprise Linux Server 5 i386
- Red Hat Enterprise Linux Workstation 5 x86_64
- Red Hat Enterprise Linux Workstation 5 i386
- Red Hat Enterprise Linux Desktop 5 x86_64
- Red Hat Enterprise Linux Desktop 5 i386
- Red Hat Enterprise Linux for IBM z Systems 5 s390x
- Red Hat Enterprise Linux for Power, big endian 5 ppc
- Red Hat Enterprise Linux Server from RHUI 5 x86_64
- Red Hat Enterprise Linux Server from RHUI 5 i386
Fixes
- BZ - 555076 - gcore fails in small terminals
- BZ - 569235 - failure to reset quick_addrmap in reread_symbols
- BZ - 579793 - [REG][5.5ss3] The first line #0 in backtrace is not printed by pstack.
- BZ - 592031 - gdb gets stuck on multi-threaded program which calls setuid() frequently
- BZ - 601709 - [5.5] The target program of gdb is terminated by SIGILL signal
- BZ - 602355 - [RHEL5.4] (gdb portion) missing typedef in DWARF
- BZ - 609157 - Python (=pretty printing) for GDB
- BZ - 614028 - invalid backtraces by gdb 7.0.1-23.el5
- BZ - 614806 - prelink shifts .bss address by .dynbss breaking gdb
- BZ - 623219 - gdb aborts with a 'double free or corruption' when calling inferior functions with print or call command
CVEs
(none)
References
(none)
Red Hat Enterprise Linux Server 5
SRPM | |
---|---|
gdb-7.0.1-32.el5.src.rpm | SHA-256: c2d4a1a68b705aa7a3850615bd0aadf5d98824ca480b72830e706e677c4f64e3 |
x86_64 | |
gdb-7.0.1-32.el5.x86_64.rpm | SHA-256: 3a580b8f41a4aedc55234856a0e24a7b09e3a0adcd9b284d29631b5560a86862 |
ia64 | |
gdb-7.0.1-32.el5.i386.rpm | SHA-256: 86501479e69eda0bc74e16bc6a38d3abaea85264419f454836154a4bf5a71997 |
gdb-7.0.1-32.el5.ia64.rpm | SHA-256: 951e01e3850f186ef4dea624aa209b572b6981c476140979a2628831ba8388b8 |
i386 | |
gdb-7.0.1-32.el5.i386.rpm | SHA-256: 86501479e69eda0bc74e16bc6a38d3abaea85264419f454836154a4bf5a71997 |
Red Hat Enterprise Linux Workstation 5
SRPM | |
---|---|
gdb-7.0.1-32.el5.src.rpm | SHA-256: c2d4a1a68b705aa7a3850615bd0aadf5d98824ca480b72830e706e677c4f64e3 |
x86_64 | |
gdb-7.0.1-32.el5.x86_64.rpm | SHA-256: 3a580b8f41a4aedc55234856a0e24a7b09e3a0adcd9b284d29631b5560a86862 |
i386 | |
gdb-7.0.1-32.el5.i386.rpm | SHA-256: 86501479e69eda0bc74e16bc6a38d3abaea85264419f454836154a4bf5a71997 |
Red Hat Enterprise Linux Desktop 5
SRPM | |
---|---|
gdb-7.0.1-32.el5.src.rpm | SHA-256: c2d4a1a68b705aa7a3850615bd0aadf5d98824ca480b72830e706e677c4f64e3 |
x86_64 | |
gdb-7.0.1-32.el5.x86_64.rpm | SHA-256: 3a580b8f41a4aedc55234856a0e24a7b09e3a0adcd9b284d29631b5560a86862 |
i386 | |
gdb-7.0.1-32.el5.i386.rpm | SHA-256: 86501479e69eda0bc74e16bc6a38d3abaea85264419f454836154a4bf5a71997 |
Red Hat Enterprise Linux for IBM z Systems 5
SRPM | |
---|---|
gdb-7.0.1-32.el5.src.rpm | SHA-256: c2d4a1a68b705aa7a3850615bd0aadf5d98824ca480b72830e706e677c4f64e3 |
s390x | |
gdb-7.0.1-32.el5.s390x.rpm | SHA-256: dc8556cb0bc3023072e91a9cbbf8c6cedb5666e6d717fc5d4a629804b5520cce |
Red Hat Enterprise Linux for Power, big endian 5
SRPM | |
---|---|
gdb-7.0.1-32.el5.src.rpm | SHA-256: c2d4a1a68b705aa7a3850615bd0aadf5d98824ca480b72830e706e677c4f64e3 |
ppc | |
gdb-7.0.1-32.el5.ppc64.rpm | SHA-256: e02ad2e5ff6d8242ad6b0437ac43a04e994649719f4ecdc7a17c61750f3943c2 |
Red Hat Enterprise Linux Server from RHUI 5
SRPM | |
---|---|
gdb-7.0.1-32.el5.src.rpm | SHA-256: c2d4a1a68b705aa7a3850615bd0aadf5d98824ca480b72830e706e677c4f64e3 |
x86_64 | |
gdb-7.0.1-32.el5.x86_64.rpm | SHA-256: 3a580b8f41a4aedc55234856a0e24a7b09e3a0adcd9b284d29631b5560a86862 |
i386 | |
gdb-7.0.1-32.el5.i386.rpm | SHA-256: 86501479e69eda0bc74e16bc6a38d3abaea85264419f454836154a4bf5a71997 |
The Red Hat security contact is secalert@redhat.com. More contact details at https://access.redhat.com/security/team/contact/.