Issued:
2015-07-22
Updated:
2015-07-22

RHBA-2015:1339 - gcc bug fix and enhancement update


Synopsis

gcc bug fix and enhancement update

Type/Severity

Bug Fix Advisory

Topic

Updated gcc packages that fix several bugs and add one enhancement are now available for Red Hat Enterprise Linux 6.

Description

The gcc packages provide compilers for C, C++, Java, Fortran, Objective C, and Ada 95 GNU, as well as related support libraries.

This update fixes the following bugs:

  • Previously, due to a bug in the stdarg functions optimization, the compiler could produce incorrect code. The problem occurred only when the va_list variable escaped a PHI node. This bug has been fixed, and the compiler now generates correct code. (BZ#1190640)

  • Previously, when the vectorization optimization was enabled, the compiler could extract a scalar component of a vector with element types whose precision did not match the precision of their mode. Consequently, GCC could terminate unexpectedly while trying to vectorize a code that was using bit-fields. With this update, the compiler no longer vectorizes such code, and the code now compiles correctly. (BZ#1150606)

  • Previously, the compiler did not properly handle incorrect usage of the PCH (Precompiled Headers) feature. When a PCH file was not included as the first include, the compiler terminated unexpectedly with a segmentation fault. The compiler has been fixed not to use such incorrect includes, and it no longer crashes in this scenario. (BZ#1177458)

  • In previous versions of the GNU Fortran compiler, the type specifiers for Cray pointees were incorrectly overwritten by the type specifiers of components with the same name. Consequently, compiling failed with an error message. This bug has been fixed, and the Cray pointers are now handled correctly. (BZ#1134560)

In addition, this update adds the following enhancement:

  • The gcc hotpatch attribute implements support for online patching of multithreaded code on System z binaries. With this update, it is possible to select specific functions for hotpatching using a "function attribute" and to enable hotpatching for all functions using the "-mhotpatch=" command-line option. As enabled hotpatching has negative impact on software size and performance, it is recommended to use hotpatching for specific functions and not to enable hotpatch support in general. (BZ#1148120)

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.

For details on how to apply this update, refer to:

https://access.redhat.com/articles/11258

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

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

Fixes

CVEs

(none)

References

(none)


Additional information