Issued:
2012-02-20
Updated:
2012-02-20

RHBA-2012:0258 - gcc bug fix update


Synopsis

gcc bug fix update

Type/Severity

Bug Fix Advisory (none)

Topic

Updated gcc packages that fix multiple 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:

  • Previously, the g++ compiler consumed excessive memory when compiling a program that used a vast amount of various data definitions and function overloading. This has been fixed and the g++ compiler uses much less memory under these circumstances. (BZ#651098)

  • Global variable lookup did not match the C code lookup. As a result, a variable appeared to have incorrect values assigned during debugging. This happened if a global variable with the same name was exported by multiple libraries and the libraries were stored at the same location. With this update, the variable lookup has been modified to match the C code lookup. (BZ#745004)

  • The gcov tool incorrectly counted opening brackets in an error handling block specification ("throw") if the specification was not located on the same line as its parent function. With this update, the code handling such situations has been added and the throw blocks are handled as expected. (BZ#706383)

  • A program compilation could terminate with an internal compiler error because the compiler failed to update hash tables while creating precompiled headers of the libstdc++ library. With this update, the compiler uses the DECL_UID variable when creating the precompiled headers and the problem no longer occurs. (BZ#735304)

  • A GNU Data Language (GDL) program compilation could terminate with an internal compiler error. This happened due to incorrect gimplification of the try-catch block. With this update, the underlying code has been modified and the try-catch blocks are now compiled correctly. (BZ#722252)

  • Under certain circumstances, program compilation with the gfortran compiler could have resulted in the following error:

    internal compiler error: in modified_type_die, at dwarf2out.c:8495

With this update, the underlying code has been modified and the problem no longer occurs. (BZ#746405)

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

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

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

Fixes

CVEs

(none)

References

(none)


Additional information