- Issued:
- 2015-07-22
- Updated:
- 2015-07-22
RHBA-2015:1325 - 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
Updated gdb packages that fix several bugs are now available for Red Hat
Enterprise Linux 6.
Description
The GNU Debugger (GDB) allows users to debug programs written in various
programming languages including C, C++, and Fortran.
This update fixes the following bugs:
- When GDB found a thread with PID -1, GDB attempted to attach to that incorrect
PID and consequently failed with an internal error. With this update, GDB
detects the incorrect PID -1 earlier and displays a warning message to the user.
In addition, the debugging session is no longer affected by the scenario
described above. (BZ#1099929)
- GDB used a splay tree to store elements related to address maps. However, when
iterating through splay trees that were too large, the recursion of the
splay_tree_foreach_helper() function caused GDB to run out of stack, which
generated a segmentation fault. The implementation of
splay_tree_foreach_helper() has been changed to non-recursive, which improves
the efficiency of iterator() and makes GDB avoid the aforementioned failure.
(BZ#1117841)
- Previously, GDB did not check for a NULL pointer when trying to find the
charset names from the user environment. This caused GDB to terminate
unexpectedly, generating a segmentation fault. With this update, GDB correctly
checks if it is dealing with a NULL file pointer, thus fixing the bug.
(BZ#1119119)
- GDB uses the "(anonymous namespace)" string in the string representation of
any symbol defined in an anonymous namespace. However, the linespec parser did
not recognize that this string was a necessary component, symbol lookups failed
and breakpoints could not set or reset on symbols defined in anonymous
namespaces. To fix this bug, the anonymous namespace recognition has been
abstracted to clarify the unique role of this representation requirement.
Additionally, the linespec parser has been updated to properly deal with the
required string. As a result, breakpoints on symbols in anonymous namespaces can
be properly set or reset by GDB. (BZ#1139405)
- The "catch syscall" command uses a special type of breakpoint inside GDB,
which is not maintained by the code that handles normal breakpoints. Previously,
GDB was not able to properly catch a system call in the parent process after the
fork() function call. With this update, system call catchpoints are no longer
removed from a program that forked itself, and GDB is now able to correctly stop
at a call from the parent process after it has forked. (BZ#1149205)
- A defect in the dlopen() library function previously caused recursive calls to
dlopen() to crash or abort with a library assertion. Recursive calls to dlopen()
may occur if an implementation of malloc() provided by the user calls dlopen().
The dlopen implementation is now reentrant, and recursive calls to dlopen() no
longer crash or abort with an assertion. (BZ#1156192)
- Under certain conditions, while attaching to a process, GDB can perform the
initial low level ptrace attach request, but the kernel previously refused to
let the debugger finish the attach sequence. Consequently, GDB terminated
unexpectedly with an internal error. Now, GDB handles the described scenario
gracefully, reporting back to the user that the attach request failed. As a
result, the user receives a warning noting that GDB was unable to attach because
permission was denied. In addition, the debugging session is not affected by
this behavior. (BZ#1162264)
- When a breakpoint was pending and a new object file appeared and this new
object file contained multiple possible locations for the breakpoint, GDB was
being too strict on checking this condition, and issued an internal error. The
check for multiple locations for the same breakpoint has been relaxed, and GDB
no longer issues an internal error in this scenario. The user now receives a
warning mentioning that more than one location for the breakpoint has been
found, but only one location will be used. (BZ#1186476)
Users of gdb are advised to upgrade to these updated packages, which fix these
bugs.
Solution
Before applying this update, make sure all previously released errata relevant
to your system have been applied.
For details on how to apply this update, refer to:
Affected Products
- Red Hat Enterprise Linux Server 6 x86_64
- Red Hat Enterprise Linux Server 6 i386
- Red Hat Enterprise Linux Server - Extended Life Cycle Support 6 i386
- Red Hat Enterprise Linux Workstation 6 x86_64
- Red Hat Enterprise Linux Workstation 6 i386
- Red Hat Enterprise Linux Desktop 6 x86_64
- Red Hat Enterprise Linux Desktop 6 i386
- Red Hat Enterprise Linux for IBM z Systems 6 s390x
- Red Hat Enterprise Linux for Power, big endian 6 ppc64
- Red Hat Enterprise Linux for Scientific Computing 6 x86_64
- Red Hat Enterprise Linux Server from RHUI 6 x86_64
- Red Hat Enterprise Linux Server from RHUI 6 i386
- Red Hat Enterprise Linux Server - Extended Life Cycle Support 6 x86_64
- Red Hat Enterprise Linux Server - Extended Life Cycle Support (for IBM z Systems) 6 s390x
- Red Hat Enterprise Linux Server - Extended Life Cycle Support Extension 6 x86_64
- Red Hat Enterprise Linux Server - Extended Life Cycle Support Extension 6 i386
- Red Hat Enterprise Linux Server - Extended Life Cycle Support Extension (for IBM z Systems) 6 s390x
Fixes
- BZ - 1117841 - stack overflow in splay_tree_foreach_helper
- BZ - 1149205 - `catch syscall' doesn't work for parent after `fork' is called
- BZ - 1162264 - gdb/linux-nat.c:1411: internal-error: linux_nat_post_attach_wait: Assertion `pid == new_pid' failed.
- BZ - 1186476 - backport GDB 7.4 fix to RHEL 6.6 GDB
CVEs
(none)
References
(none)
Red Hat Enterprise Linux Server 6
SRPM | |
---|---|
gdb-7.2-83.el6.src.rpm | SHA-256: 2f74cd493bc19e76c75d2b21f803d20b29443bf4b890d7195c493fac3ce159dd |
x86_64 | |
gdb-7.2-83.el6.x86_64.rpm | SHA-256: 9b387e7b36380e31899c2d51a8265a4181fec15dedb5fe7d81673720566c8b35 |
gdb-7.2-83.el6.x86_64.rpm | SHA-256: 9b387e7b36380e31899c2d51a8265a4181fec15dedb5fe7d81673720566c8b35 |
gdb-debuginfo-7.2-83.el6.x86_64.rpm | SHA-256: f6177dc299c00e66e77038be74f75fde9be9c7f0d196725c84e96410ae9fdcf7 |
gdb-debuginfo-7.2-83.el6.x86_64.rpm | SHA-256: f6177dc299c00e66e77038be74f75fde9be9c7f0d196725c84e96410ae9fdcf7 |
gdb-gdbserver-7.2-83.el6.x86_64.rpm | SHA-256: 4617153b0850af95e356f7c499259b220d8c5c3abb4836e679c6d71fd0cb3162 |
gdb-gdbserver-7.2-83.el6.x86_64.rpm | SHA-256: 4617153b0850af95e356f7c499259b220d8c5c3abb4836e679c6d71fd0cb3162 |
i386 | |
gdb-7.2-83.el6.i686.rpm | SHA-256: b4b4bb6f6b0777bfc68ef54bfc659be5ab9731f502d57cc343f99005ea167725 |
gdb-debuginfo-7.2-83.el6.i686.rpm | SHA-256: 701d08effde6dd50e32ceea2effd081a26bc2002faad30b07ad82260f0bd0317 |
gdb-gdbserver-7.2-83.el6.i686.rpm | SHA-256: 6f0d0fcef2efd481f7366c732041cfae5388863c70c4a514095b80733a82fc39 |
Red Hat Enterprise Linux Server - Extended Life Cycle Support 6
SRPM | |
---|---|
gdb-7.2-83.el6.src.rpm | SHA-256: 2f74cd493bc19e76c75d2b21f803d20b29443bf4b890d7195c493fac3ce159dd |
x86_64 | |
gdb-7.2-83.el6.x86_64.rpm | SHA-256: 9b387e7b36380e31899c2d51a8265a4181fec15dedb5fe7d81673720566c8b35 |
gdb-debuginfo-7.2-83.el6.x86_64.rpm | SHA-256: f6177dc299c00e66e77038be74f75fde9be9c7f0d196725c84e96410ae9fdcf7 |
gdb-gdbserver-7.2-83.el6.x86_64.rpm | SHA-256: 4617153b0850af95e356f7c499259b220d8c5c3abb4836e679c6d71fd0cb3162 |
i386 | |
gdb-7.2-83.el6.i686.rpm | SHA-256: b4b4bb6f6b0777bfc68ef54bfc659be5ab9731f502d57cc343f99005ea167725 |
gdb-debuginfo-7.2-83.el6.i686.rpm | SHA-256: 701d08effde6dd50e32ceea2effd081a26bc2002faad30b07ad82260f0bd0317 |
gdb-gdbserver-7.2-83.el6.i686.rpm | SHA-256: 6f0d0fcef2efd481f7366c732041cfae5388863c70c4a514095b80733a82fc39 |
Red Hat Enterprise Linux Workstation 6
SRPM | |
---|---|
gdb-7.2-83.el6.src.rpm | SHA-256: 2f74cd493bc19e76c75d2b21f803d20b29443bf4b890d7195c493fac3ce159dd |
x86_64 | |
gdb-7.2-83.el6.x86_64.rpm | SHA-256: 9b387e7b36380e31899c2d51a8265a4181fec15dedb5fe7d81673720566c8b35 |
gdb-debuginfo-7.2-83.el6.x86_64.rpm | SHA-256: f6177dc299c00e66e77038be74f75fde9be9c7f0d196725c84e96410ae9fdcf7 |
gdb-gdbserver-7.2-83.el6.x86_64.rpm | SHA-256: 4617153b0850af95e356f7c499259b220d8c5c3abb4836e679c6d71fd0cb3162 |
i386 | |
gdb-7.2-83.el6.i686.rpm | SHA-256: b4b4bb6f6b0777bfc68ef54bfc659be5ab9731f502d57cc343f99005ea167725 |
gdb-debuginfo-7.2-83.el6.i686.rpm | SHA-256: 701d08effde6dd50e32ceea2effd081a26bc2002faad30b07ad82260f0bd0317 |
gdb-gdbserver-7.2-83.el6.i686.rpm | SHA-256: 6f0d0fcef2efd481f7366c732041cfae5388863c70c4a514095b80733a82fc39 |
Red Hat Enterprise Linux Desktop 6
SRPM | |
---|---|
gdb-7.2-83.el6.src.rpm | SHA-256: 2f74cd493bc19e76c75d2b21f803d20b29443bf4b890d7195c493fac3ce159dd |
x86_64 | |
gdb-7.2-83.el6.x86_64.rpm | SHA-256: 9b387e7b36380e31899c2d51a8265a4181fec15dedb5fe7d81673720566c8b35 |
gdb-debuginfo-7.2-83.el6.x86_64.rpm | SHA-256: f6177dc299c00e66e77038be74f75fde9be9c7f0d196725c84e96410ae9fdcf7 |
gdb-gdbserver-7.2-83.el6.x86_64.rpm | SHA-256: 4617153b0850af95e356f7c499259b220d8c5c3abb4836e679c6d71fd0cb3162 |
i386 | |
gdb-7.2-83.el6.i686.rpm | SHA-256: b4b4bb6f6b0777bfc68ef54bfc659be5ab9731f502d57cc343f99005ea167725 |
gdb-debuginfo-7.2-83.el6.i686.rpm | SHA-256: 701d08effde6dd50e32ceea2effd081a26bc2002faad30b07ad82260f0bd0317 |
gdb-gdbserver-7.2-83.el6.i686.rpm | SHA-256: 6f0d0fcef2efd481f7366c732041cfae5388863c70c4a514095b80733a82fc39 |
Red Hat Enterprise Linux for IBM z Systems 6
SRPM | |
---|---|
gdb-7.2-83.el6.src.rpm | SHA-256: 2f74cd493bc19e76c75d2b21f803d20b29443bf4b890d7195c493fac3ce159dd |
s390x | |
gdb-7.2-83.el6.s390x.rpm | SHA-256: d63be3173cff50fdcfee65115b6de11546e705a748909ac1e4094af290cb7986 |
gdb-debuginfo-7.2-83.el6.s390x.rpm | SHA-256: 263070b7e808b101c403c5df18d807db3d362c43eddb001b11277e5d101e3d06 |
gdb-gdbserver-7.2-83.el6.s390x.rpm | SHA-256: ee3ab439e28f495f39c1f2695551c480ba344da67f571e9a0c5c981fface6029 |
Red Hat Enterprise Linux for Power, big endian 6
SRPM | |
---|---|
gdb-7.2-83.el6.src.rpm | SHA-256: 2f74cd493bc19e76c75d2b21f803d20b29443bf4b890d7195c493fac3ce159dd |
ppc64 | |
gdb-7.2-83.el6.ppc64.rpm | SHA-256: fdd850e3eecac124751731c5396a0a488adeeb42bbbc57544800a52ddaffef95 |
gdb-debuginfo-7.2-83.el6.ppc64.rpm | SHA-256: e057863912d980acefa9ab2273ab022d234843fa151feb607aeb9fc85d9bfba6 |
gdb-gdbserver-7.2-83.el6.ppc64.rpm | SHA-256: 876920a7501f9a7f02a6b93a4a94183322aa4d23acd4398e1a03013939750c94 |
Red Hat Enterprise Linux for Scientific Computing 6
SRPM | |
---|---|
gdb-7.2-83.el6.src.rpm | SHA-256: 2f74cd493bc19e76c75d2b21f803d20b29443bf4b890d7195c493fac3ce159dd |
x86_64 | |
gdb-7.2-83.el6.x86_64.rpm | SHA-256: 9b387e7b36380e31899c2d51a8265a4181fec15dedb5fe7d81673720566c8b35 |
gdb-debuginfo-7.2-83.el6.x86_64.rpm | SHA-256: f6177dc299c00e66e77038be74f75fde9be9c7f0d196725c84e96410ae9fdcf7 |
gdb-gdbserver-7.2-83.el6.x86_64.rpm | SHA-256: 4617153b0850af95e356f7c499259b220d8c5c3abb4836e679c6d71fd0cb3162 |
Red Hat Enterprise Linux Server from RHUI 6
SRPM | |
---|---|
gdb-7.2-83.el6.src.rpm | SHA-256: 2f74cd493bc19e76c75d2b21f803d20b29443bf4b890d7195c493fac3ce159dd |
x86_64 | |
gdb-7.2-83.el6.x86_64.rpm | SHA-256: 9b387e7b36380e31899c2d51a8265a4181fec15dedb5fe7d81673720566c8b35 |
gdb-debuginfo-7.2-83.el6.x86_64.rpm | SHA-256: f6177dc299c00e66e77038be74f75fde9be9c7f0d196725c84e96410ae9fdcf7 |
gdb-gdbserver-7.2-83.el6.x86_64.rpm | SHA-256: 4617153b0850af95e356f7c499259b220d8c5c3abb4836e679c6d71fd0cb3162 |
i386 | |
gdb-7.2-83.el6.i686.rpm | SHA-256: b4b4bb6f6b0777bfc68ef54bfc659be5ab9731f502d57cc343f99005ea167725 |
gdb-debuginfo-7.2-83.el6.i686.rpm | SHA-256: 701d08effde6dd50e32ceea2effd081a26bc2002faad30b07ad82260f0bd0317 |
gdb-gdbserver-7.2-83.el6.i686.rpm | SHA-256: 6f0d0fcef2efd481f7366c732041cfae5388863c70c4a514095b80733a82fc39 |
Red Hat Enterprise Linux Server - Extended Life Cycle Support (for IBM z Systems) 6
SRPM | |
---|---|
gdb-7.2-83.el6.src.rpm | SHA-256: 2f74cd493bc19e76c75d2b21f803d20b29443bf4b890d7195c493fac3ce159dd |
s390x | |
gdb-7.2-83.el6.s390x.rpm | SHA-256: d63be3173cff50fdcfee65115b6de11546e705a748909ac1e4094af290cb7986 |
gdb-debuginfo-7.2-83.el6.s390x.rpm | SHA-256: 263070b7e808b101c403c5df18d807db3d362c43eddb001b11277e5d101e3d06 |
gdb-gdbserver-7.2-83.el6.s390x.rpm | SHA-256: ee3ab439e28f495f39c1f2695551c480ba344da67f571e9a0c5c981fface6029 |
Red Hat Enterprise Linux Server - Extended Life Cycle Support Extension 6
SRPM | |
---|---|
gdb-7.2-83.el6.src.rpm | SHA-256: 2f74cd493bc19e76c75d2b21f803d20b29443bf4b890d7195c493fac3ce159dd |
x86_64 | |
gdb-7.2-83.el6.x86_64.rpm | SHA-256: 9b387e7b36380e31899c2d51a8265a4181fec15dedb5fe7d81673720566c8b35 |
gdb-debuginfo-7.2-83.el6.x86_64.rpm | SHA-256: f6177dc299c00e66e77038be74f75fde9be9c7f0d196725c84e96410ae9fdcf7 |
gdb-gdbserver-7.2-83.el6.x86_64.rpm | SHA-256: 4617153b0850af95e356f7c499259b220d8c5c3abb4836e679c6d71fd0cb3162 |
i386 | |
gdb-7.2-83.el6.i686.rpm | SHA-256: b4b4bb6f6b0777bfc68ef54bfc659be5ab9731f502d57cc343f99005ea167725 |
gdb-debuginfo-7.2-83.el6.i686.rpm | SHA-256: 701d08effde6dd50e32ceea2effd081a26bc2002faad30b07ad82260f0bd0317 |
gdb-gdbserver-7.2-83.el6.i686.rpm | SHA-256: 6f0d0fcef2efd481f7366c732041cfae5388863c70c4a514095b80733a82fc39 |
Red Hat Enterprise Linux Server - Extended Life Cycle Support Extension (for IBM z Systems) 6
SRPM | |
---|---|
gdb-7.2-83.el6.src.rpm | SHA-256: 2f74cd493bc19e76c75d2b21f803d20b29443bf4b890d7195c493fac3ce159dd |
s390x | |
gdb-7.2-83.el6.s390x.rpm | SHA-256: d63be3173cff50fdcfee65115b6de11546e705a748909ac1e4094af290cb7986 |
gdb-debuginfo-7.2-83.el6.s390x.rpm | SHA-256: 263070b7e808b101c403c5df18d807db3d362c43eddb001b11277e5d101e3d06 |
gdb-gdbserver-7.2-83.el6.s390x.rpm | SHA-256: ee3ab439e28f495f39c1f2695551c480ba344da67f571e9a0c5c981fface6029 |
The Red Hat security contact is secalert@redhat.com. More contact details at https://access.redhat.com/security/team/contact/.