- Issued:
- 2012-06-20
- Updated:
- 2012-06-20
RHBA-2012:0941 - 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 one enhancement 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 gfortran compiler could fail to compile the code with an internal compiler error. This happened because the gfc_type_for_size() function from the trans-types.c library did not return the correct data type if the demanded bit precision was less than the built-in bit precision size of the corresponding type. With this update, the function returns the corresponding wider type if no suitable narrower type has been found and the code is compiled correctly. (BZ#751767)
-
The G++ compiler terminated unexpectedly with a segmentation fault and returned an internal compiler error when compiling with the -O2 or -O3 optimization option. This happened because the compiler tried to cancel the same loop twice in the remove_path() function. With this update, the loop is canceled only once and the segmentation fault no longer occurs in this scenario. (BZ#756138)
-
Previously, GCC could generate incorrect code if combining instructions when splitting a two-set pattern. This was due to an error in the way the split patterns were handled while combining the instructions. With this update, the code handling instruction combining has been fixed and the problem no longer occurs. (BZ#756651)
-
Previously, GCC could terminate unexpectedly with an internal compiler error, which was triggered by aggressive loop peeling enabled by the "-mtune=z10" setting when moving registers. With this update, the registers are determined from the instruction patterns correctly and the compilation succeeds in this scenario. (BZ#767604)
-
Typing into Web Console in Firefox caused Firefox to terminate unexpectedly. This happened because the compiler incorrectly cloned one of the functions called under these circumstances. With this update, the function is no longer cloned and the problem no longer occurs. (BZ#799491)
In addition, this update adds the following enhancement:
- Previously, the GCC compiler did not contain the header with functions for converting the half-float type. This update adds the header and also fixes GCC so that it works correctly with the "-march=native" option on AMD FX processor microarchitectures. (BZ#739443)
All users of gcc are advised to upgrade to these updated packages, which fix these bugs and add this enhancement.
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 https://access.redhat.com/knowledge/articles/11258
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
- gcc-c++-4.4.6-4.el6.i686.rpm
- libmudflap-devel-4.4.6-4.el6.x86_64.rpm
- gcc-objc-4.4.6-4.el6.x86_64.rpm
- libgnat-4.4.6-4.el6.i686.rpm
- libmudflap-devel-4.4.6-4.el6.s390.rpm
- libstdc++-docs-4.4.6-4.el6.x86_64.rpm
- libstdc++-4.4.6-4.el6.x86_64.rpm
- libgcj-devel-4.4.6-4.el6.ppc.rpm
- libstdc++-docs-4.4.6-4.el6.i686.rpm
- libgcj-src-4.4.6-4.el6.ppc64.rpm
- libgfortran-4.4.6-4.el6.s390x.rpm
- gcc-debuginfo-4.4.6-4.el6.s390.rpm
- libstdc++-4.4.6-4.el6.s390.rpm
- libmudflap-devel-4.4.6-4.el6.i686.rpm
- libgcj-src-4.4.6-4.el6.s390x.rpm
- libstdc++-4.4.6-4.el6.s390x.rpm
- libmudflap-devel-4.4.6-4.el6.s390x.rpm
- libstdc++-devel-4.4.6-4.el6.x86_64.rpm
- libgnat-devel-4.4.6-4.el6.ppc.rpm
- gcc-debuginfo-4.4.6-4.el6.i686.rpm
- gcc-4.4.6-4.el6.ppc64.rpm
- libgcc-4.4.6-4.el6.x86_64.rpm
- libgnat-4.4.6-4.el6.ppc.rpm
- libgfortran-4.4.6-4.el6.s390.rpm
- libgnat-4.4.6-4.el6.x86_64.rpm
- gcc-objc-4.4.6-4.el6.ppc64.rpm
- libgfortran-4.4.6-4.el6.i686.rpm
- libmudflap-devel-4.4.6-4.el6.ppc64.rpm
- libmudflap-4.4.6-4.el6.s390.rpm
- libgcj-devel-4.4.6-4.el6.ppc64.rpm
- libmudflap-4.4.6-4.el6.ppc64.rpm
- cpp-4.4.6-4.el6.i686.rpm
- libstdc++-devel-4.4.6-4.el6.s390x.rpm
- gcc-gfortran-4.4.6-4.el6.x86_64.rpm
- libgcj-4.4.6-4.el6.i686.rpm
- libstdc++-devel-4.4.6-4.el6.s390.rpm
- libgcc-4.4.6-4.el6.ppc.rpm
- libobjc-4.4.6-4.el6.s390x.rpm
- gcc-objc++-4.4.6-4.el6.s390x.rpm
- libgcc-4.4.6-4.el6.ppc64.rpm
- libobjc-4.4.6-4.el6.s390.rpm
- libgnat-devel-4.4.6-4.el6.x86_64.rpm
- gcc-4.4.6-4.el6.i686.rpm
- libstdc++-4.4.6-4.el6.ppc.rpm
- gcc-gfortran-4.4.6-4.el6.s390x.rpm
- libgfortran-4.4.6-4.el6.ppc64.rpm
- libstdc++-devel-4.4.6-4.el6.ppc.rpm
- libgfortran-4.4.6-4.el6.x86_64.rpm
- libgnat-4.4.6-4.el6.ppc64.rpm
- libgcj-4.4.6-4.el6.s390.rpm
- libobjc-4.4.6-4.el6.x86_64.rpm
- libgfortran-4.4.6-4.el6.ppc.rpm
- libstdc++-docs-4.4.6-4.el6.ppc64.rpm
- libgomp-4.4.6-4.el6.s390.rpm
- gcc-objc++-4.4.6-4.el6.i686.rpm
- gcc-objc++-4.4.6-4.el6.x86_64.rpm
- cpp-4.4.6-4.el6.ppc64.rpm
- gcc-4.4.6-4.el6.x86_64.rpm
- gcc-gfortran-4.4.6-4.el6.ppc64.rpm
- gcc-java-4.4.6-4.el6.s390x.rpm
- libstdc++-devel-4.4.6-4.el6.i686.rpm
- libstdc++-devel-4.4.6-4.el6.ppc64.rpm
- gcc-objc-4.4.6-4.el6.s390x.rpm
- libgcc-4.4.6-4.el6.s390.rpm
- libgcj-4.4.6-4.el6.ppc64.rpm
- gcc-java-4.4.6-4.el6.x86_64.rpm
- libobjc-4.4.6-4.el6.i686.rpm
- gcc-c++-4.4.6-4.el6.x86_64.rpm
- libgomp-4.4.6-4.el6.i686.rpm
- libgcc-4.4.6-4.el6.s390x.rpm
- libgomp-4.4.6-4.el6.ppc64.rpm
- libgomp-4.4.6-4.el6.ppc.rpm
- gcc-4.4.6-4.el6.s390x.rpm
- libgcj-devel-4.4.6-4.el6.s390.rpm
- libstdc++-4.4.6-4.el6.ppc64.rpm
- libgcj-4.4.6-4.el6.ppc.rpm
- libmudflap-4.4.6-4.el6.s390x.rpm
- libgcj-devel-4.4.6-4.el6.x86_64.rpm
- libgcj-src-4.4.6-4.el6.x86_64.rpm
- libgcj-devel-4.4.6-4.el6.i686.rpm
- libgcj-4.4.6-4.el6.x86_64.rpm
- libgcc-4.4.6-4.el6.i686.rpm
- libgomp-4.4.6-4.el6.x86_64.rpm
- libgcj-devel-4.4.6-4.el6.s390x.rpm
- gcc-4.4.6-4.el6.src.rpm
- gcc-debuginfo-4.4.6-4.el6.x86_64.rpm
- libgnat-devel-4.4.6-4.el6.ppc64.rpm
- libobjc-4.4.6-4.el6.ppc64.rpm
- libstdc++-4.4.6-4.el6.i686.rpm
- gcc-java-4.4.6-4.el6.i686.rpm
- gcc-gnat-4.4.6-4.el6.x86_64.rpm
- libgcj-src-4.4.6-4.el6.i686.rpm
- libgnat-devel-4.4.6-4.el6.i686.rpm
- libstdc++-docs-4.4.6-4.el6.s390x.rpm
- gcc-c++-4.4.6-4.el6.s390x.rpm
- cpp-4.4.6-4.el6.x86_64.rpm
- libmudflap-devel-4.4.6-4.el6.ppc.rpm
- gcc-debuginfo-4.4.6-4.el6.ppc.rpm
- libmudflap-4.4.6-4.el6.ppc.rpm
- cpp-4.4.6-4.el6.s390x.rpm
- libgcj-4.4.6-4.el6.s390x.rpm
- gcc-objc-4.4.6-4.el6.i686.rpm
- gcc-debuginfo-4.4.6-4.el6.ppc64.rpm
- gcc-gfortran-4.4.6-4.el6.i686.rpm
- libmudflap-4.4.6-4.el6.x86_64.rpm
- gcc-gnat-4.4.6-4.el6.i686.rpm
- gcc-gnat-4.4.6-4.el6.ppc64.rpm
- gcc-debuginfo-4.4.6-4.el6.s390x.rpm
- gcc-java-4.4.6-4.el6.ppc64.rpm
- gcc-objc++-4.4.6-4.el6.ppc64.rpm
- libmudflap-4.4.6-4.el6.i686.rpm
- libgomp-4.4.6-4.el6.s390x.rpm
- gcc-c++-4.4.6-4.el6.ppc64.rpm
- libobjc-4.4.6-4.el6.ppc.rpm
Fixes
- This content is not included.BZ - 729042
- This content is not included.BZ - 751767
- This content is not included.BZ - 756138
- This content is not included.BZ - 799491
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.