- Issued:
- 2011-12-06
- Updated:
- 2011-12-06
RHBA-2011:1644 - gcc bug fix and enhancement update
Synopsis
gcc bug fix and enhancement update
Type/Severity
Bug Fix Advisory (none)
Topic
Updated gcc packages that fix various bugs and add three enhancements are now available for Red Hat Enterprise Linux 6.
Description
The gcc packages include C, C++, Java, Fortran, Objective C, Objective C++, and Ada 95 GNU compilers, along with related support libraries.
This update fixes the following bugs:
-
The previous version of GCC incorrectly assumed that processors based on the AMD's multi-core architecture code named Bulldozer support the 3DNow! instruction set. This update adapts the underlying source code to make sure that GCC no longer uses the 3DNow! instructions on these processors. (BZ#696352)
-
On the PowerPC architecture, GCC previously passed the V2DImode vector parameters using the stack and returned them in integer registers, which does not comply with the Application Binary Interface (ABI). This update corrects this error so that GCC now passes these parameters using the AltiVec parameter registers and returns them via the AltiVec return value register. (BZ#705764)
-
Previously, GCC did not flush all pending register saves in a Frame Description Entry (FDE) before inline assembly instructions. This may have led to various problems when the inline assembly code modified those registers. With this update, GCC has been adapted to flush pending register saves in FDE before inline assembly instructions, resolving this issue. (BZ#721376)
-
Prior to this update, the gcov test coverage utility sometimes incorrectly counted even opening brackets, which caused it to produce inaccurate statistics. This update applies a patch that corrects this error so that gcov ignores such brackets, as expected. (BZ#732802)
-
When processing source code that extensively used overloading (that is, with hundreds or more overloads of the same function or method), the previous version of the C++ front end consumed a large amount of memory. This negatively affected the overall compile time and the amount of used system resources. With this update, the C++ front end has been optimized to use less resources in this scenario. (BZ#732807)
As well, this update adds the following enhancements:
-
This update adds support for new "-mfsgsbase", "-mf16c", and "-mrdrnd" command line options, as well as corresponding intrinsics to the immintrin.h header file. This allows for reading FS and GS base registers, retrieving random data from the random data generator, and converting between floating point and half-precision floating-point types. (BZ#696145)
-
GCC now supports AMD's next generation processors. These processors can now be specified on the command line via the "-march=" and "-mtune=" command line options. (BZ#696370)
-
GCC now supports Intel's next generation processor instrinsics and instructions for reading the hardware random number generator. (BZ#696495)
All users of gcc are advised to upgrade to these updated packages, which fix these bugs and add these enhancements.
Solution
Before applying this update, make sure all previously-released errata relevant to your system have been applied.
This update is available via the Red Hat Network. Details on how to use the Red Hat Network to apply this update are available at This content is not included.https://access.redhat.com/kb/docs/DOC-11259
Affected Products
| Product | Version | Arch |
|---|---|---|
| Red Hat Enterprise Linux for Scientific Computing | 6 | x86_64 |
| Red Hat Enterprise Linux for Power, big endian | 6 | ppc64 |
| Red Hat Enterprise Linux for IBM z Systems | 6 | s390x |
| Red Hat Enterprise Linux Workstation | 6 | x86_64 |
| Red Hat Enterprise Linux Workstation | 6 | i386 |
| Red Hat Enterprise Linux Server | 6 | x86_64 |
| Red Hat Enterprise Linux Server | 6 | i386 |
| Red Hat Enterprise Linux Server from RHUI | 6 | x86_64 |
| Red Hat Enterprise Linux Server from RHUI | 6 | i386 |
| Red Hat Enterprise Linux Server - Retired Extended Life Cycle Support | 6 | x86_64 |
| Red Hat Enterprise Linux Server - Extended Life Cycle Support | 6 | x86_64 |
| Red Hat Enterprise Linux Server - Extended Life Cycle Support | 6 | i386 |
| 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 |
| Red Hat Enterprise Linux Server - Extended Life Cycle Support (for IBM z Systems) | 6 | s390x |
| Red Hat Enterprise Linux Desktop | 6 | x86_64 |
| Red Hat Enterprise Linux Desktop | 6 | i386 |
Updated Packages
- libstdc++-devel-4.4.6-3.el6.x86_64.rpm
- libgcc-4.4.6-3.el6.s390x.rpm
- gcc-objc++-4.4.6-3.el6.i686.rpm
- libmudflap-4.4.6-3.el6.i686.rpm
- gcc-objc++-4.4.6-3.el6.s390x.rpm
- libstdc++-devel-4.4.6-3.el6.s390.rpm
- libmudflap-devel-4.4.6-3.el6.x86_64.rpm
- libmudflap-devel-4.4.6-3.el6.ppc64.rpm
- libgomp-4.4.6-3.el6.ppc64.rpm
- gcc-java-4.4.6-3.el6.ppc64.rpm
- libgcj-src-4.4.6-3.el6.s390x.rpm
- gcc-gnat-4.4.6-3.el6.i686.rpm
- libobjc-4.4.6-3.el6.s390.rpm
- gcc-4.4.6-3.el6.src.rpm
- libstdc++-4.4.6-3.el6.s390x.rpm
- gcc-java-4.4.6-3.el6.s390x.rpm
- libgnat-devel-4.4.6-3.el6.x86_64.rpm
- libgfortran-4.4.6-3.el6.s390.rpm
- gcc-objc-4.4.6-3.el6.x86_64.rpm
- gcc-gnat-4.4.6-3.el6.ppc64.rpm
- libgcj-devel-4.4.6-3.el6.ppc.rpm
- gcc-gfortran-4.4.6-3.el6.i686.rpm
- gcc-gfortran-4.4.6-3.el6.ppc64.rpm
- libgomp-4.4.6-3.el6.s390.rpm
- libstdc++-devel-4.4.6-3.el6.i686.rpm
- libstdc++-docs-4.4.6-3.el6.x86_64.rpm
- libstdc++-docs-4.4.6-3.el6.s390x.rpm
- libstdc++-devel-4.4.6-3.el6.s390x.rpm
- libstdc++-devel-4.4.6-3.el6.ppc64.rpm
- gcc-c++-4.4.6-3.el6.x86_64.rpm
- libgomp-4.4.6-3.el6.ppc.rpm
- libgcc-4.4.6-3.el6.ppc.rpm
- libgnat-4.4.6-3.el6.ppc64.rpm
- libobjc-4.4.6-3.el6.ppc.rpm
- libmudflap-devel-4.4.6-3.el6.ppc.rpm
- libstdc++-devel-4.4.6-3.el6.ppc.rpm
- libstdc++-docs-4.4.6-3.el6.ppc64.rpm
- gcc-c++-4.4.6-3.el6.i686.rpm
- libgcc-4.4.6-3.el6.s390.rpm
- libgcj-src-4.4.6-3.el6.x86_64.rpm
- gcc-4.4.6-3.el6.x86_64.rpm
- libstdc++-docs-4.4.6-3.el6.i686.rpm
- libstdc++-4.4.6-3.el6.x86_64.rpm
- libmudflap-devel-4.4.6-3.el6.s390.rpm
- libgfortran-4.4.6-3.el6.i686.rpm
- libmudflap-4.4.6-3.el6.s390.rpm
- gcc-4.4.6-3.el6.i686.rpm
- libobjc-4.4.6-3.el6.i686.rpm
- libgnat-4.4.6-3.el6.x86_64.rpm
- libgcj-src-4.4.6-3.el6.ppc64.rpm
- libgnat-devel-4.4.6-3.el6.ppc64.rpm
- libobjc-4.4.6-3.el6.x86_64.rpm
- gcc-objc-4.4.6-3.el6.s390x.rpm
- libgfortran-4.4.6-3.el6.ppc.rpm
- gcc-debuginfo-4.4.6-3.el6.x86_64.rpm
- libstdc++-4.4.6-3.el6.s390.rpm
- gcc-debuginfo-4.4.6-3.el6.s390x.rpm
- libgcj-4.4.6-3.el6.s390x.rpm
- gcc-c++-4.4.6-3.el6.s390x.rpm
- libgnat-4.4.6-3.el6.i686.rpm
- libgfortran-4.4.6-3.el6.ppc64.rpm
- gcc-debuginfo-4.4.6-3.el6.ppc64.rpm
- cpp-4.4.6-3.el6.x86_64.rpm
- gcc-java-4.4.6-3.el6.x86_64.rpm
- libgfortran-4.4.6-3.el6.x86_64.rpm
- libgomp-4.4.6-3.el6.x86_64.rpm
- gcc-4.4.6-3.el6.s390x.rpm
- libgcc-4.4.6-3.el6.x86_64.rpm
- libgcj-devel-4.4.6-3.el6.s390.rpm
- gcc-4.4.6-3.el6.ppc64.rpm
- libgcj-4.4.6-3.el6.ppc64.rpm
- libgcc-4.4.6-3.el6.ppc64.rpm
- cpp-4.4.6-3.el6.ppc64.rpm
- libgomp-4.4.6-3.el6.s390x.rpm
- libmudflap-devel-4.4.6-3.el6.s390x.rpm
- libobjc-4.4.6-3.el6.s390x.rpm
- libgcj-4.4.6-3.el6.i686.rpm
- libgnat-devel-4.4.6-3.el6.i686.rpm
- gcc-gnat-4.4.6-3.el6.x86_64.rpm
- cpp-4.4.6-3.el6.i686.rpm
- libgcj-4.4.6-3.el6.x86_64.rpm
- gcc-c++-4.4.6-3.el6.ppc64.rpm
- libgomp-4.4.6-3.el6.i686.rpm
- libgcj-src-4.4.6-3.el6.i686.rpm
- libstdc++-4.4.6-3.el6.ppc.rpm
- libmudflap-4.4.6-3.el6.ppc64.rpm
- cpp-4.4.6-3.el6.s390x.rpm
- libmudflap-4.4.6-3.el6.ppc.rpm
- libmudflap-4.4.6-3.el6.x86_64.rpm
- libobjc-4.4.6-3.el6.ppc64.rpm
- gcc-debuginfo-4.4.6-3.el6.s390.rpm
- libmudflap-devel-4.4.6-3.el6.i686.rpm
- libgnat-devel-4.4.6-3.el6.ppc.rpm
- gcc-gfortran-4.4.6-3.el6.x86_64.rpm
- gcc-java-4.4.6-3.el6.i686.rpm
- libgcj-4.4.6-3.el6.ppc.rpm
- gcc-objc++-4.4.6-3.el6.x86_64.rpm
- libgcc-4.4.6-3.el6.i686.rpm
- libgcj-devel-4.4.6-3.el6.x86_64.rpm
- gcc-objc++-4.4.6-3.el6.ppc64.rpm
- gcc-objc-4.4.6-3.el6.i686.rpm
- libgcj-4.4.6-3.el6.s390.rpm
- gcc-objc-4.4.6-3.el6.ppc64.rpm
- libgcj-devel-4.4.6-3.el6.i686.rpm
- gcc-debuginfo-4.4.6-3.el6.i686.rpm
- libgcj-devel-4.4.6-3.el6.ppc64.rpm
- libgnat-4.4.6-3.el6.ppc.rpm
- libstdc++-4.4.6-3.el6.ppc64.rpm
- gcc-debuginfo-4.4.6-3.el6.ppc.rpm
- libgcj-devel-4.4.6-3.el6.s390x.rpm
- libmudflap-4.4.6-3.el6.s390x.rpm
- gcc-gfortran-4.4.6-3.el6.s390x.rpm
- libgfortran-4.4.6-3.el6.s390x.rpm
- libstdc++-4.4.6-3.el6.i686.rpm
Fixes
CVEs
(none)
References
(none)
Additional information
- The Red Hat security contact is This content is not included.secalert@redhat.com. More contact details at https://access.redhat.com/security/team/contact/.
- Offline Security Data data is available for integration with other systems. See Offline Security Data API to get started.