RHBA-2010:0285 - Bug Fix Advisory
gdb bug fix update
Bug Fix Advisory
An updated gdb package that fixes various bugs is now available.
The GNU Project debugger, GDB, debugs programs written in C, C++, and other
languages by executing them in a controlled fashion, and then printing out
With this update, GDB is now re-based to upstream version 7.0.1
(BZ#526533). This applies several bug fixes and enhancements not listed
here. For a full description of this version, refer to the following link:
This update applies the following bug fixes:
- Printing values from a debugged program by dereferencing a pointer to an
object of dynamic type printed out an error stating "Cannot resolve
DW_OP_push_object_address for a missing object". Such pointers are produced
by an unsupported iFort compiler, not by gfortran. With this update, GDB
can now dereference pointers to objects of dynamic type, thereby correctly
printing the dynamic Fortran arrays dereferenced from such pointers (as
produced by the iFort compiler).
- Debugging a program with thousands of set breakpoints was unacceptably
slow. This was because a previous patch introduced a mechanism that hid
breakpoint instructions and returned "shadow" content whenever
target_read_memory() accessed memory. The aforementioned patch was
implemented upstream to be used with a "breakpoint always-inserted" option,
which was not implemented in Red Hat Enterprise Linux version of GDB. But
Red Hat Enterprise Linux version backported it to solve a problem on
Itanium where instruction (and thus even breakpoint instruction) boundaries
are not byte-aligned. This update reimplements the shadowing functionality
using more optimal log(n) algorithm instead, which consequently prevents
any unnecessary slowdown when processing programs with numerous set
- GDB incorrectly skipped OpenMP parallel sections (instead of entering
them as expected) when using the "next" command. This was caused by missing
DWARF annotations from GCC that made it possible for OpenMP parallel
sections to be incorrectly classified as function calls. To address this,
GDB contains special instructions to make OpenMP parallel sections
indifferent to normal code, allowing GDB to step into parallel sections
with "next" correctly.
- The GDB version banner now correctly displays "Red Hat Enterprise Linux"
instead of "Fedora".
- GDB no longer obsoletes the pstack package.
- Loading symbols in STABS debug format could crash GDB. The STABS format
is no longer supported, as Red Hat Enterprise Linux uses the debug format
DWARF. With this update, loading symbols in STABS format no longer crashes
GDB; instead, such symbols are simply loaded incorrectly.
- Adding GDB support for Fortran modules in previous releases introduced a
regression which prevented GDB from setting breakpoints on a Fortran
program's name. This was caused by a bug in the search routines used when
"set language fortran" is enabled. This update fixes the regression.
- The Red Hat Enterprise Linux 5.5 version of GDB also contains a fix for
an upstream GDB regression that prevented users from setting rwatch and
awatch breakpoints before a program starts. This version of GDB implements
a compatibility fix from GDB 6.8 to address the regression.
- A "break-by-name on inlined functions" feature introduced in Fedora GDB
made it possible for parameters of inlined functions to be incorrectly
hidden. Whenever this occurred during debugging, GDB printed "
out>" in backtraces or upon entering such functions. In some cases,
stepping through inlined functions could also abort GDB with an internal
error. This release resolves the issue by removing the "break-by-name on
inlined functions" feature altogether.
All GDB users should apply this update.
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
- 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
- BZ - 514287 - invalid print: Cannot resolve DW_OP_push_object_address for a missing object
- BZ - 520618 - processing 'continue' command of gdb is slow, when many breakpoints are set
- BZ - 526533 - Rebase of GDB to 7.0, the F12 version
- BZ - 530982 - GDB testsuite should not buil- require gcc43* at rhel-5.4+
- BZ - 533176 - Can't step or next into OMP parallel section
- BZ - 537788 - Version banner should have no Fedora
- BZ - 550786 - gdb obsoletes pstack
- BZ - 553672 - gdb crashes on 'where' with objects compiled with stabs
- BZ - 559291 - breakpoints on routine names don't work in Fortran in gdb 6.8-37
Red Hat Enterprise Linux Server 5
Red Hat Enterprise Linux Workstation 5
Red Hat Enterprise Linux Desktop 5
Red Hat Enterprise Linux Server from RHUI 5