- Issued:
- 2009-09-02
- Updated:
- 2009-09-02
RHBA-2009:1361 - 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
A gdb update that fixes several bugs and improves gfortran debugging is now
available.
Description
The GNU Project debugger (normally referred to as GDB) debugs programs
written in C, C++, and other languages by executing them in a controlled
fashion, and then printing out their data.
This update applies the following bug fixes:
- Normally, static variables always have the same debugging information for
each possible constructor/destructor implementation kind, which allows the
compiler to keep their DIE (debugging information entry) only in the single
abstract instance of the constructor. However, GDB did not automatically
inherit whole DIEs from the abstract instances to the concrete instances.
As such, the static variables in C++ constructors were not visible from
GDB. With this update, GDB now inherits whole DIEs to ensure that static
variables do not become inaccessible. (BZ#445912)
- GDB now supports the use of 64-bit ELF files for 32-bit platforms (i.e.
elf64-i386). (BZ#457187)
- It was possible for GDB to print an error when trying to access an
allocatable or otherwise dynamic array or string variable in Fortran. This
was because GDB did not account for the fact that the lower bound for
Fortran arrays was 1 (rather than 0). This made it possible for array size
calculations to result in invalid values (i.e. too high) when allocating
unbound or dynamically-bound Fortran arrays. This release corrects the way
GDB processes Fortran arrays; it also adds functions to verify the validity
of a calculated array size first before attempting to allocate it.
(BZ#459380)
- Variables imported from Fortran modules can be now accessed from GDB with
the same scope as the program being debugged. (BZ#466118, BZ #457793)
- Variables shared by Fortran "common blocks" can be now accessed from GDB
with the same scope as the program being debugged. Further, common blocks
valid in the current program scope can be printed using the GDB command
'info common'. (BZ#459762)
- Allocatable arrays, objects with assumed size, and pointers to objects
can be now accessed from GDB in the same manner that they are accessed from
the program being debugged. (BZ#460250, BZ#459952, BZ#465301, BZ#505333)
- Variables of type 'logical (kind=8)' can be now accessed from GDB.
(BZ#465310)
- For external references, GCC does not produce DWARF debug information. As
a result, GDB could not access Thread Local Storage (TLS) variables from a
local source file if those variables were defined in a different source
file. This made it possible for certain memory addresses to become
unaccessible to GDB. With this release, GDB can now process TLS variables
using ELF structures instead of DWARF; as such, GDB can now access TLS
variables regardless of where those variables were defined. (BZ#494412)
- Running gcore (or any 'attach' or 'detach' command sequence) on a
multi-threaded process that was halted with 'kill -STOP' could unexpectedly
resume some of that process's threads. This behavior was caused by a kernel
bug (present in upstream version 2.6.29) that remained unfixed in Red Hat
Enterprise Linux 5 kernels to maintain backward compatibility. While this
update does not fix the kernel bug, it applies a GDB workaround that
ensures threads from a halted multi-threaded process do not unexpectedly
resume. (BZ#498595)
This update also implements various parts of Fortran language support. With
this implementation, gfortran44 (not gfortran) is now used to compile
Fortran programs. The gfortran44 compiler is provided by the gcc44 update
(included in this release as a Technology Preview).
GDB users are advised to apply this update.
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
http://kbase.redhat.com/faq/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 - 445912 - [RHEL5.2] static variable not available in gdb
- BZ - 457187 - Unable to Open vmcore from Kdump
- BZ - 465301 - GDB 6.8 can't index through slices of a fortran array
- BZ - 465310 - gdb 6.8 can't print fortran logical (kind=8)
- BZ - 466118 - gdb 6.8 can't find variables in modules
- BZ - 498595 - gcore unstopping SIGSTOPped processes
- BZ - 505333 - Wrong access into unbound C arrays
CVEs
(none)
References
(none)
Red Hat Enterprise Linux Server 5
SRPM | |
---|---|
gdb-6.8-37.el5.src.rpm | SHA-256: e537f1dbe5ed99cd5331f05afbf4780a6548c898a02f86c719bdde2e3ed6bca2 |
x86_64 | |
gdb-6.8-37.el5.x86_64.rpm | SHA-256: 08adc377854eb66cf04d3b48ce4d02bbce17b29dfecf70780b51f1c999f81449 |
ia64 | |
gdb-6.8-37.el5.i386.rpm | SHA-256: 207cb1ff2871e0464cb6a03bca7825f2a184ab415c1652fd20334b5ae05b5a2b |
gdb-6.8-37.el5.ia64.rpm | SHA-256: b95f7fd9c247e13c1247cb9fe5d96fd2ceff57ea0f706e72f7d8a4d68e1046ce |
i386 | |
gdb-6.8-37.el5.i386.rpm | SHA-256: 207cb1ff2871e0464cb6a03bca7825f2a184ab415c1652fd20334b5ae05b5a2b |
Red Hat Enterprise Linux Workstation 5
SRPM | |
---|---|
gdb-6.8-37.el5.src.rpm | SHA-256: e537f1dbe5ed99cd5331f05afbf4780a6548c898a02f86c719bdde2e3ed6bca2 |
x86_64 | |
gdb-6.8-37.el5.x86_64.rpm | SHA-256: 08adc377854eb66cf04d3b48ce4d02bbce17b29dfecf70780b51f1c999f81449 |
i386 | |
gdb-6.8-37.el5.i386.rpm | SHA-256: 207cb1ff2871e0464cb6a03bca7825f2a184ab415c1652fd20334b5ae05b5a2b |
Red Hat Enterprise Linux Desktop 5
SRPM | |
---|---|
gdb-6.8-37.el5.src.rpm | SHA-256: e537f1dbe5ed99cd5331f05afbf4780a6548c898a02f86c719bdde2e3ed6bca2 |
x86_64 | |
gdb-6.8-37.el5.x86_64.rpm | SHA-256: 08adc377854eb66cf04d3b48ce4d02bbce17b29dfecf70780b51f1c999f81449 |
i386 | |
gdb-6.8-37.el5.i386.rpm | SHA-256: 207cb1ff2871e0464cb6a03bca7825f2a184ab415c1652fd20334b5ae05b5a2b |
Red Hat Enterprise Linux for IBM z Systems 5
SRPM | |
---|---|
gdb-6.8-37.el5.src.rpm | SHA-256: e537f1dbe5ed99cd5331f05afbf4780a6548c898a02f86c719bdde2e3ed6bca2 |
s390x | |
gdb-6.8-37.el5.s390x.rpm | SHA-256: 6c08263da00fa57673ceee0be05042a70573c36eb9df53e108f307bcc71c7f0b |
Red Hat Enterprise Linux for Power, big endian 5
SRPM | |
---|---|
gdb-6.8-37.el5.src.rpm | SHA-256: e537f1dbe5ed99cd5331f05afbf4780a6548c898a02f86c719bdde2e3ed6bca2 |
ppc | |
gdb-6.8-37.el5.ppc64.rpm | SHA-256: 2f7b7addb699b39888272d12167936343650f19bbc99ac24aac0604871f1941a |
Red Hat Enterprise Linux Server from RHUI 5
SRPM | |
---|---|
gdb-6.8-37.el5.src.rpm | SHA-256: e537f1dbe5ed99cd5331f05afbf4780a6548c898a02f86c719bdde2e3ed6bca2 |
x86_64 | |
gdb-6.8-37.el5.x86_64.rpm | SHA-256: 08adc377854eb66cf04d3b48ce4d02bbce17b29dfecf70780b51f1c999f81449 |
i386 | |
gdb-6.8-37.el5.i386.rpm | SHA-256: 207cb1ff2871e0464cb6a03bca7825f2a184ab415c1652fd20334b5ae05b5a2b |
The Red Hat security contact is secalert@redhat.com. More contact details at https://access.redhat.com/security/team/contact/.