Issued:
2011-05-19
Updated:
2011-05-19

RHBA-2011:0663 - gcc bug fix update


Synopsis

gcc bug fix update

Type/Severity

Bug Fix Advisory (none)

Topic

A gcc update that resolves several compiler bugs is now available.

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 applies the following bug fixes:

  • These updated packages provide support for the "-mcmodel=medium" and "-mcmodel=large" options on the 64-bit PowerPC architecture. These new options provide the ability to extend the TOC addressing space up to 2GB. (BZ#630166)

  • gcc now has the ability to emit pre-fetch instructions for "memcmp", "memcpy" and "memset" in-line expansions when optimizing for IBM System z10 CPUs. (BZ#632366)

  • Previously, leaf functions that accessed TLS variables in the global or local dynamic model were not generating a large enough stack frame on PowerPC 64-bit. In this updated package, the generated stack frame is now larger than 112 bytes, resolving this issue. (BZ#624889)

  • Previously a regression in the gfortran compiler was causing the "-M" option to not be recognized. In these updated packages the "-M" option is now recognized and functions as expected. (BZ#675132)

  • Previously, the optimizations performed when calculating induction variables during the induction variable optimization (ivopts) pass were not as efficient as previous releases. In these updated packages, the optimizations performed during the the induction variable optimization (ivopts) pass is improved. (BZ#592502)

  • Previously, if a Java application built with gcj attempted to submit a print job to a print queue that was disabled, the process would enter a busy loop. This update fixes this issue by first checking if the print queue is null before attempting to send it a print job. (BZ#618258)

  • Previously, using "always_inline" on a function when compiling with "-g" without any "-O" options would cause the compiler to insert debugging annotations in unexpected locations. Consequently, the unexpected annotations caused the compiler to crash with an internal error. In these updated packages, the compiler is modified to properly handle attributes which change optimization levels, such as always_inline, properly. (BZ#659582)

  • This update provides code optimizations for the IBM System z architecture. (BZ#632370)

  • The mask operand for the AVX mask load/store is fixed. (BZ#635015)

All users of gcc are advised to upgrade to these updated packages which address these issues.

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 This content is not included.https://access.redhat.com/kb/docs/DOC-11259

Affected Products

ProductVersionArch
Red Hat Enterprise Linux for Scientific Computing6x86_64
Red Hat Enterprise Linux for Power, big endian6ppc64
Red Hat Enterprise Linux for IBM z Systems6s390x
Red Hat Enterprise Linux Workstation6x86_64
Red Hat Enterprise Linux Workstation6i386
Red Hat Enterprise Linux Server6x86_64
Red Hat Enterprise Linux Server6i386
Red Hat Enterprise Linux Server from RHUI6x86_64
Red Hat Enterprise Linux Server from RHUI6i386
Red Hat Enterprise Linux Server - Retired Extended Life Cycle Support6x86_64
Red Hat Enterprise Linux Server - Extended Life Cycle Support6x86_64
Red Hat Enterprise Linux Server - Extended Life Cycle Support6i386
Red Hat Enterprise Linux Server - Extended Life Cycle Support Extension6x86_64
Red Hat Enterprise Linux Server - Extended Life Cycle Support Extension6i386
Red Hat Enterprise Linux Server - Extended Life Cycle Support Extension (for IBM z Systems)6s390x
Red Hat Enterprise Linux Server - Extended Life Cycle Support (for IBM z Systems)6s390x
Red Hat Enterprise Linux Desktop6x86_64
Red Hat Enterprise Linux Desktop6i386

Updated Packages

  • libgcj-src-4.4.5-6.el6.x86_64.rpm
  • libstdc++-docs-4.4.5-6.el6.s390x.rpm
  • libgcj-4.4.5-6.el6.i686.rpm
  • libstdc++-devel-4.4.5-6.el6.s390x.rpm
  • cpp-4.4.5-6.el6.ppc64.rpm
  • libmudflap-devel-4.4.5-6.el6.s390.rpm
  • libstdc++-4.4.5-6.el6.s390x.rpm
  • libobjc-4.4.5-6.el6.s390.rpm
  • gcc-gnat-4.4.5-6.el6.i686.rpm
  • libstdc++-4.4.5-6.el6.x86_64.rpm
  • libgcj-src-4.4.5-6.el6.ppc64.rpm
  • libmudflap-4.4.5-6.el6.s390.rpm
  • libstdc++-devel-4.4.5-6.el6.s390.rpm
  • gcc-gfortran-4.4.5-6.el6.ppc64.rpm
  • libmudflap-devel-4.4.5-6.el6.i686.rpm
  • gcc-c++-4.4.5-6.el6.i686.rpm
  • libstdc++-docs-4.4.5-6.el6.ppc64.rpm
  • libmudflap-4.4.5-6.el6.ppc64.rpm
  • libgnat-4.4.5-6.el6.ppc.rpm
  • libgomp-4.4.5-6.el6.ppc64.rpm
  • libgcc-4.4.5-6.el6.s390x.rpm
  • libobjc-4.4.5-6.el6.i686.rpm
  • gcc-objc-4.4.5-6.el6.x86_64.rpm
  • libmudflap-4.4.5-6.el6.ppc.rpm
  • libmudflap-devel-4.4.5-6.el6.ppc64.rpm
  • gcc-gnat-4.4.5-6.el6.ppc64.rpm
  • libstdc++-docs-4.4.5-6.el6.i686.rpm
  • libobjc-4.4.5-6.el6.s390x.rpm
  • libgfortran-4.4.5-6.el6.i686.rpm
  • libgcc-4.4.5-6.el6.s390.rpm
  • libgcj-devel-4.4.5-6.el6.s390.rpm
  • gcc-objc-4.4.5-6.el6.ppc64.rpm
  • libgnat-devel-4.4.5-6.el6.ppc.rpm
  • cpp-4.4.5-6.el6.s390x.rpm
  • gcc-objc-4.4.5-6.el6.i686.rpm
  • libmudflap-devel-4.4.5-6.el6.s390x.rpm
  • gcc-debuginfo-4.4.5-6.el6.s390.rpm
  • libmudflap-4.4.5-6.el6.x86_64.rpm
  • libgcj-src-4.4.5-6.el6.i686.rpm
  • libgnat-devel-4.4.5-6.el6.x86_64.rpm
  • libgomp-4.4.5-6.el6.x86_64.rpm
  • gcc-4.4.5-6.el6.src.rpm
  • libgcc-4.4.5-6.el6.i686.rpm
  • libstdc++-devel-4.4.5-6.el6.i686.rpm
  • gcc-4.4.5-6.el6.s390x.rpm
  • libgfortran-4.4.5-6.el6.x86_64.rpm
  • libgnat-4.4.5-6.el6.x86_64.rpm
  • gcc-objc++-4.4.5-6.el6.s390x.rpm
  • libstdc++-4.4.5-6.el6.ppc64.rpm
  • gcc-java-4.4.5-6.el6.i686.rpm
  • libgcj-devel-4.4.5-6.el6.s390x.rpm
  • gcc-c++-4.4.5-6.el6.x86_64.rpm
  • libgcj-4.4.5-6.el6.x86_64.rpm
  • libgcj-4.4.5-6.el6.s390x.rpm
  • libgcj-4.4.5-6.el6.s390.rpm
  • gcc-gfortran-4.4.5-6.el6.i686.rpm
  • gcc-objc++-4.4.5-6.el6.ppc64.rpm
  • libgcj-devel-4.4.5-6.el6.i686.rpm
  • gcc-java-4.4.5-6.el6.s390x.rpm
  • gcc-debuginfo-4.4.5-6.el6.ppc64.rpm
  • libgcj-devel-4.4.5-6.el6.ppc64.rpm
  • libgnat-devel-4.4.5-6.el6.ppc64.rpm
  • gcc-gnat-4.4.5-6.el6.x86_64.rpm
  • gcc-debuginfo-4.4.5-6.el6.i686.rpm
  • gcc-4.4.5-6.el6.i686.rpm
  • libgcj-src-4.4.5-6.el6.s390x.rpm
  • libgnat-devel-4.4.5-6.el6.i686.rpm
  • gcc-objc++-4.4.5-6.el6.i686.rpm
  • libgcj-devel-4.4.5-6.el6.ppc.rpm
  • libstdc++-devel-4.4.5-6.el6.ppc64.rpm
  • libstdc++-4.4.5-6.el6.s390.rpm
  • gcc-c++-4.4.5-6.el6.s390x.rpm
  • libgomp-4.4.5-6.el6.s390.rpm
  • libmudflap-4.4.5-6.el6.s390x.rpm
  • libmudflap-devel-4.4.5-6.el6.x86_64.rpm
  • libobjc-4.4.5-6.el6.x86_64.rpm
  • libgcc-4.4.5-6.el6.ppc64.rpm
  • libgcj-4.4.5-6.el6.ppc.rpm
  • libgnat-4.4.5-6.el6.i686.rpm
  • gcc-debuginfo-4.4.5-6.el6.x86_64.rpm
  • libgomp-4.4.5-6.el6.ppc.rpm
  • libobjc-4.4.5-6.el6.ppc.rpm
  • libgfortran-4.4.5-6.el6.s390.rpm
  • libstdc++-4.4.5-6.el6.i686.rpm
  • libgcc-4.4.5-6.el6.ppc.rpm
  • libstdc++-4.4.5-6.el6.ppc.rpm
  • libgcj-devel-4.4.5-6.el6.x86_64.rpm
  • libgcc-4.4.5-6.el6.x86_64.rpm
  • libmudflap-4.4.5-6.el6.i686.rpm
  • libgfortran-4.4.5-6.el6.ppc64.rpm
  • libstdc++-devel-4.4.5-6.el6.x86_64.rpm
  • libgcj-4.4.5-6.el6.ppc64.rpm
  • libgomp-4.4.5-6.el6.i686.rpm
  • libobjc-4.4.5-6.el6.ppc64.rpm
  • libgfortran-4.4.5-6.el6.ppc.rpm
  • cpp-4.4.5-6.el6.x86_64.rpm
  • gcc-java-4.4.5-6.el6.x86_64.rpm
  • gcc-gfortran-4.4.5-6.el6.s390x.rpm
  • libgfortran-4.4.5-6.el6.s390x.rpm
  • gcc-debuginfo-4.4.5-6.el6.ppc.rpm
  • libmudflap-devel-4.4.5-6.el6.ppc.rpm
  • gcc-c++-4.4.5-6.el6.ppc64.rpm
  • gcc-debuginfo-4.4.5-6.el6.s390x.rpm
  • libgnat-4.4.5-6.el6.ppc64.rpm
  • gcc-objc++-4.4.5-6.el6.x86_64.rpm
  • gcc-java-4.4.5-6.el6.ppc64.rpm
  • libstdc++-docs-4.4.5-6.el6.x86_64.rpm
  • gcc-4.4.5-6.el6.ppc64.rpm
  • libgomp-4.4.5-6.el6.s390x.rpm
  • gcc-4.4.5-6.el6.x86_64.rpm
  • libstdc++-devel-4.4.5-6.el6.ppc.rpm
  • gcc-gfortran-4.4.5-6.el6.x86_64.rpm
  • cpp-4.4.5-6.el6.i686.rpm
  • gcc-objc-4.4.5-6.el6.s390x.rpm

Fixes

CVEs

(none)

References

(none)


Additional information