1.126. libunwind
1.126.1. RHBA-2009:0464: bug fix update
Note
This update has already been released (prior to the GA of this release) as FASTRACK errata RHBA-2009:0464
The libunwind package provides a portable C-based API for determining the call-chain of a program. In addition, libunwind makes it possible to manipulate the saved state of a call-frame, and resume execution at any call-chain point.
This updated libunwind package fixes the following bug:
- C++ programs which used standard C++ exceptions and were linked with the libunwind library could crash, due to a conflict between the unwinding capabilities contained in GCC and those provided by libunwind. libunwind used an outdated Application Binary Interface (ABI) which did not provide the GetIPInfo() function. When the libunwind unwinder was preferred over the GCC unwinder, then the missing GetIPInfo() function (which was provided by the GCC unwinder) was used together with libunwind's unwinding support. Because GCC's GetIPInfo() function must access the (valid) state of the GCC unwinder, an application crash could result. Because of this ABI change, libunwind required a small extension to its ABI to update it to the current unwinding ABI. This updated package provides that extension, thus removing the possibility for unwinding conflict and potential application crash. (BZ#480412)
Note: it is only necessary to update a system with these libunwind packages in order to avoid the potential application crash detailed above. It is not necessary to update any gcc packages.
All users who require unwinding capabilities are advised to upgrade to this updated package, which resolves this issue.