Skip to navigation

Bug Fix Advisory gdb bug fix update

Advisory: RHBA-2010:0285-1
Type: Bug Fix Advisory
Severity: N/A
Issued on: 2010-03-30
Last updated on: 2010-03-30
Affected Products: Red Hat Enterprise Linux (v. 5 server)
Red Hat Enterprise Linux Desktop (v. 5 client)

Details

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
their data.

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:
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/NEWS.diff?cvsroot=src&r1=t
ext&tr1=1.259.2.1&r2=text&tr2=1.331.2.2&f=u

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).
(BZ#514287)

* 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
breakpoints.
(BZ#520618)

* 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.
(BZ#533176)

* The GDB version banner now correctly displays "Red Hat Enterprise Linux"
instead of "Fedora".
(BZ#537788)

* GDB no longer obsoletes the pstack package.
(BZ#550786)

* 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.
(BZ#553672)

* 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.
(BZ#559291)

* 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.
(BZ#562770)

* 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 "<optimized
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.
(BZ#565601)

All GDB users should 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

Updated packages

Red Hat Enterprise Linux (v. 5 server)

SRPMS:
gdb-7.0.1-23.el5.src.rpm
File outdated by:  RHBA-2013:0044
    MD5: a105053cd8ae196c1a7275e8feab729f
SHA-256: f36f92b7226afaebd1afe0615903fa3d5a6953d2ec89770e2dc19a107890191f
 
IA-32:
gdb-7.0.1-23.el5.i386.rpm
File outdated by:  RHBA-2013:0044
    MD5: 223e818239df35a8432dcb47efe9bbfd
SHA-256: d5878bfec13147af9c31ca59fc860c0e2540dfaad808e361c4d87fc931f71140
 
IA-64:
gdb-7.0.1-23.el5.i386.rpm
File outdated by:  RHBA-2013:0044
    MD5: 223e818239df35a8432dcb47efe9bbfd
SHA-256: d5878bfec13147af9c31ca59fc860c0e2540dfaad808e361c4d87fc931f71140
gdb-7.0.1-23.el5.ia64.rpm
File outdated by:  RHBA-2013:0044
    MD5: fe940ad351ead673609155a7d70450e4
SHA-256: 1d8c068d2b52df679916513527a94bedf30a8e887a50fecb7f67c6af6cc77994
 
PPC:
gdb-7.0.1-23.el5.ppc64.rpm
File outdated by:  RHBA-2013:0044
    MD5: a6e7a1fbcb727a7ad7ba8fb798796dad
SHA-256: da66bc3d4ea4061c74aca5a7eb49aaefc1583e5c8248b39f6e638ba0ff6d3c6e
 
s390x:
gdb-7.0.1-23.el5.s390x.rpm
File outdated by:  RHBA-2013:0044
    MD5: c53acb2f212675a30e795feb7c1578b8
SHA-256: d4fcaa2172f51a613e479e1f3f26b2c58470ffeb6424f362c353e8d8f4bec0da
 
x86_64:
gdb-7.0.1-23.el5.x86_64.rpm
File outdated by:  RHBA-2013:0044
    MD5: b980ccdb64ebbec0078bf0a1142c17f5
SHA-256: 14427e0d50e6e6d2f6dc5e1d071ca374712894250a8047a1715d8749ea6f72c2
 
Red Hat Enterprise Linux Desktop (v. 5 client)

SRPMS:
gdb-7.0.1-23.el5.src.rpm
File outdated by:  RHBA-2013:0044
    MD5: a105053cd8ae196c1a7275e8feab729f
SHA-256: f36f92b7226afaebd1afe0615903fa3d5a6953d2ec89770e2dc19a107890191f
 
IA-32:
gdb-7.0.1-23.el5.i386.rpm
File outdated by:  RHBA-2013:0044
    MD5: 223e818239df35a8432dcb47efe9bbfd
SHA-256: d5878bfec13147af9c31ca59fc860c0e2540dfaad808e361c4d87fc931f71140
 
x86_64:
gdb-7.0.1-23.el5.x86_64.rpm
File outdated by:  RHBA-2013:0044
    MD5: b980ccdb64ebbec0078bf0a1142c17f5
SHA-256: 14427e0d50e6e6d2f6dc5e1d071ca374712894250a8047a1715d8749ea6f72c2
 
(The unlinked packages above are only available from the Red Hat Network)

Bugs fixed (see bugzilla for more information)

514287 - invalid print: Cannot resolve DW_OP_push_object_address for a missing object
520618 - processing 'continue' command of gdb is slow, when many breakpoints are set
526533 - Rebase of GDB to 7.0, the F12 version
530982 - GDB testsuite should not buil- require gcc43* at rhel-5.4+
533176 - Can't step or next into OMP parallel section
537788 - Version banner should have no Fedora
550786 - gdb obsoletes pstack
553672 - gdb crashes on 'where' with objects compiled with stabs
559291 - breakpoints on routine names don't work in Fortran in gdb 6.8-37



These packages are GPG signed by Red Hat for security. Our key and details on how to verify the signature are available from:
https://www.redhat.com/security/team/key/#package

The Red Hat security contact is secalert@redhat.com. More contact details at http://www.redhat.com/security/team/contact/