Issued:
2013-01-07
Updated:
2013-01-07

RHBA-2013:0029 - gcc bug fix update


Synopsis

gcc bug fix update

Type/Severity

Bug Fix Advisory (none)

Topic

Updated gcc packages that fix several bugs are now available for Red Hat Enterprise Linux 5.

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:

  • GCC was missing a lazy declaration of a class type destructor in the locate_dtor function in the method implementation. As a consequence, exception handling did not work as expected under certain circumstances and the generated code could terminate unexpectedly. This update adds the missing destructor declaration and the problem no longer occurs. (BZ#750545)

  • Previously, GCC did not correctly handle processor registers and used an incorrect memory operand when processing the CMPXCHG8B instruction. As a consequence, the compiler generated erroneous code if the "-fPIC" option was used. This update modifies the underlying source code so that GCC now handles memory operands correctly and compiles position-independent code with the "fPIC" option as expected. (BZ#760417)

  • GCC previously used incorrect flags for IBM System z specific options, such as "-m31", "-m64", "-mesa", "-mzarch", "-msoft-float", "-mhard-float", "-mlong-double-64" and "-mlong-double-128". As a consequence, when compiling code with any of these options, GCC did not recognize the option and the command failed. With this update, negative flags are now used for these options and code can be compiled successfully in this scenario. (BZ#797938)

  • GCC did not, under rare circumstances, handle exceptions properly when GCC 4.1 libstdc++ was used with GCC 4.4 or later C++11 code. This update improves exception handling so that GCC now processes exceptions as expected when using GCC 4.4 or later to compile code written in C++11. (BZ#806275)

All users of gcc are advised to upgrade to these updated packages, which fix these bugs.

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

ProductVersionArch
Red Hat Enterprise Linux for Power, big endian5ppc
Red Hat Enterprise Linux for IBM z Systems5s390x
Red Hat Enterprise Linux Workstation5x86_64
Red Hat Enterprise Linux Workstation5i386
Red Hat Enterprise Linux Server5x86_64
Red Hat Enterprise Linux Server5ia64
Red Hat Enterprise Linux Server5i386
Red Hat Enterprise Linux Server from RHUI5x86_64
Red Hat Enterprise Linux Server from RHUI5i386
Red Hat Enterprise Linux Desktop5x86_64
Red Hat Enterprise Linux Desktop5i386

Updated Packages

  • gcc-4.1.2-54.el5.ppc.rpm
  • libmudflap-4.1.2-54.el5.i386.rpm
  • libgfortran-4.1.2-54.el5.ia64.rpm
  • gcc-java-4.1.2-54.el5.ppc.rpm
  • libmudflap-devel-4.1.2-54.el5.i386.rpm
  • libstdc++-4.1.2-54.el5.x86_64.rpm
  • gcc-java-4.1.2-54.el5.x86_64.rpm
  • libgfortran-4.1.2-54.el5.s390x.rpm
  • libgnat-4.1.2-54.el5.x86_64.rpm
  • gcc-4.1.2-54.el5.ia64.rpm
  • gcc-debuginfo-4.1.2-54.el5.ppc64.rpm
  • gcc-java-4.1.2-54.el5.s390x.rpm
  • libgcc-4.1.2-54.el5.ppc.rpm
  • libgcc-4.1.2-54.el5.ia64.rpm
  • libmudflap-4.1.2-54.el5.s390.rpm
  • libmudflap-devel-4.1.2-54.el5.s390.rpm
  • libgcj-devel-4.1.2-54.el5.x86_64.rpm
  • libmudflap-devel-4.1.2-54.el5.s390x.rpm
  • libobjc-4.1.2-54.el5.s390.rpm
  • cpp-4.1.2-54.el5.x86_64.rpm
  • libgcj-devel-4.1.2-54.el5.s390.rpm
  • gcc-4.1.2-54.el5.s390x.rpm
  • libgfortran-4.1.2-54.el5.i386.rpm
  • libgcj-4.1.2-54.el5.i386.rpm
  • gcc-gfortran-4.1.2-54.el5.x86_64.rpm
  • gcc-c++-4.1.2-54.el5.i386.rpm
  • libgcc-4.1.2-54.el5.ppc64.rpm
  • libgcj-devel-4.1.2-54.el5.s390x.rpm
  • gcc-java-4.1.2-54.el5.ia64.rpm
  • gcc-debuginfo-4.1.2-54.el5.i386.rpm
  • cpp-4.1.2-54.el5.ia64.rpm
  • cpp-4.1.2-54.el5.ppc.rpm
  • libstdc++-4.1.2-54.el5.i386.rpm
  • libmudflap-4.1.2-54.el5.ia64.rpm
  • gcc-gfortran-4.1.2-54.el5.ia64.rpm
  • libgcj-4.1.2-54.el5.ppc64.rpm
  • libstdc++-4.1.2-54.el5.ia64.rpm
  • libgcj-src-4.1.2-54.el5.ppc.rpm
  • libgcc-4.1.2-54.el5.s390.rpm
  • gcc-c++-4.1.2-54.el5.ia64.rpm
  • cpp-4.1.2-54.el5.s390x.rpm
  • libstdc++-devel-4.1.2-54.el5.x86_64.rpm
  • libgcj-src-4.1.2-54.el5.x86_64.rpm
  • libgcj-4.1.2-54.el5.x86_64.rpm
  • gcc-objc++-4.1.2-54.el5.s390x.rpm
  • gcc-gfortran-4.1.2-54.el5.ppc.rpm
  • gcc-4.1.2-54.el5.src.rpm
  • gcc-debuginfo-4.1.2-54.el5.ia64.rpm
  • gcc-debuginfo-4.1.2-54.el5.x86_64.rpm
  • gcc-c++-4.1.2-54.el5.ppc.rpm
  • libgcj-src-4.1.2-54.el5.i386.rpm
  • libgcj-4.1.2-54.el5.s390x.rpm
  • libobjc-4.1.2-54.el5.ia64.rpm
  • gcc-objc-4.1.2-54.el5.s390x.rpm
  • gcc-gfortran-4.1.2-54.el5.s390x.rpm
  • libgfortran-4.1.2-54.el5.ppc.rpm
  • gcc-gfortran-4.1.2-54.el5.i386.rpm
  • gcc-objc++-4.1.2-54.el5.x86_64.rpm
  • libobjc-4.1.2-54.el5.ppc.rpm
  • gcc-objc-4.1.2-54.el5.ia64.rpm
  • libmudflap-devel-4.1.2-54.el5.ppc.rpm
  • gcc-gnat-4.1.2-54.el5.x86_64.rpm
  • gcc-objc++-4.1.2-54.el5.ia64.rpm
  • libgfortran-4.1.2-54.el5.ppc64.rpm
  • gcc-debuginfo-4.1.2-54.el5.s390.rpm
  • libstdc++-devel-4.1.2-54.el5.ppc64.rpm
  • libstdc++-4.1.2-54.el5.ppc64.rpm
  • gcc-objc-4.1.2-54.el5.i386.rpm
  • libgcj-devel-4.1.2-54.el5.ia64.rpm
  • libgnat-4.1.2-54.el5.i386.rpm
  • libobjc-4.1.2-54.el5.x86_64.rpm
  • gcc-objc-4.1.2-54.el5.ppc.rpm
  • gcc-c++-4.1.2-54.el5.x86_64.rpm
  • libgcc-4.1.2-54.el5.i386.rpm
  • libgcj-devel-4.1.2-54.el5.ppc.rpm
  • libobjc-4.1.2-54.el5.i386.rpm
  • libstdc++-devel-4.1.2-54.el5.s390x.rpm
  • gcc-objc-4.1.2-54.el5.x86_64.rpm
  • cpp-4.1.2-54.el5.i386.rpm
  • libgcj-devel-4.1.2-54.el5.ppc64.rpm
  • libgcc-4.1.2-54.el5.s390x.rpm
  • gcc-c++-4.1.2-54.el5.s390x.rpm
  • libstdc++-devel-4.1.2-54.el5.ia64.rpm
  • gcc-debuginfo-4.1.2-54.el5.s390x.rpm
  • libgcc-4.1.2-54.el5.x86_64.rpm
  • libgfortran-4.1.2-54.el5.x86_64.rpm
  • gcc-4.1.2-54.el5.x86_64.rpm
  • libgcj-devel-4.1.2-54.el5.i386.rpm
  • libmudflap-4.1.2-54.el5.s390x.rpm
  • libmudflap-devel-4.1.2-54.el5.ia64.rpm
  • libmudflap-devel-4.1.2-54.el5.ppc64.rpm
  • libgcj-4.1.2-54.el5.ia64.rpm
  • libmudflap-4.1.2-54.el5.x86_64.rpm
  • libstdc++-4.1.2-54.el5.s390x.rpm
  • gcc-gnat-4.1.2-54.el5.i386.rpm
  • libgfortran-4.1.2-54.el5.s390.rpm
  • libstdc++-4.1.2-54.el5.s390.rpm
  • libobjc-4.1.2-54.el5.ppc64.rpm
  • libgcj-src-4.1.2-54.el5.s390x.rpm
  • libstdc++-devel-4.1.2-54.el5.ppc.rpm
  • gcc-objc++-4.1.2-54.el5.i386.rpm
  • libmudflap-4.1.2-54.el5.ppc64.rpm
  • libmudflap-4.1.2-54.el5.ppc.rpm
  • gcc-objc++-4.1.2-54.el5.ppc.rpm
  • libgcj-4.1.2-54.el5.ppc.rpm
  • libgcj-4.1.2-54.el5.s390.rpm
  • libobjc-4.1.2-54.el5.s390x.rpm
  • libstdc++-devel-4.1.2-54.el5.i386.rpm
  • libgnat-4.1.2-54.el5.ia64.rpm
  • gcc-gnat-4.1.2-54.el5.ia64.rpm
  • libgcj-src-4.1.2-54.el5.ia64.rpm
  • libstdc++-devel-4.1.2-54.el5.s390.rpm
  • gcc-debuginfo-4.1.2-54.el5.ppc.rpm
  • gcc-java-4.1.2-54.el5.i386.rpm
  • libmudflap-devel-4.1.2-54.el5.x86_64.rpm
  • libstdc++-4.1.2-54.el5.ppc.rpm
  • gcc-4.1.2-54.el5.i386.rpm

Fixes

(none)

CVEs

(none)

References

(none)


Additional information