From Fedora Project Wiki

Revision as of 13:11, 18 March 2013 by Jakub (talk | contribs)


GCC 4.8.x

Summary

Switch GCC in Fedora 19 to 4.8.x, rebuild all packages with it.

Owner

  • Name: Jakub Jelinek
  • Email: jakub@redhat.com

Current status

  • Targeted release: Releases/19
  • Last updated: 2013-03-18
  • Percentage of completion: 95%

Detailed Description

GCC 4.8.0 is going to be released in mid March to mid April and is currently in regression bugfix only mode. I've performed a test mass rebuild on x86_64 with gcc-4.8.0-0.1.fc19, out of 12712 packages 11687 built successfully, 933 packages failed to build both with gcc-4.8.0-0.1.fc19 and gcc-4.7.2-9.fc19 (thus unlikely gcc related), 67 packages failed due to issues on the side of the packages, 22 failed due to bugs on the gcc side that should be fixed already in gcc-4.8.0-0.3.fc19 and 3 failed due to issues still to be fixed on the GCC side. See https://lists.fedoraproject.org/pipermail/devel/2013-January/175876.html for details. Once gcc-4.8.0-* is built into Fedora, after a few days or weeks a mass rebuild should be performed. Mass rebuild with gcc 4.8.0 prereleases has been performed, reported bugs fixed and GCC 4.8.0 is going to be released really soon now.

Benefit to Fedora

See http://gcc.gnu.org/gcc-4.8/changes.html for the list of changes.

Scope

All packages should be rebuilt with the new gcc once it hits f19.

How To Test

GCC has its own testsuite, which is run during the package build, plus many other packages with automated tests also help to test the new gcc.

User Experience

Users will be able to see compiled code improvements and use the newly added features, such as improved C++11 and C11 support, improved vectorization support, etc.

Dependencies

All packages need to be rebuilt.

Contingency Plan

If bugs are discovered, I'd appreciate help from the package owners in preparing self-contained testcases to speed up analysis and fixing the bugs. Don't have time to debug issues in 12000+ packages, especially when in many cases it could be caused by undefined code in the packages etc. I don't expect we'll have to fall back to the older gcc, we've never had to do it in the past, but worst case we can mass rebuild everything with older gcc again.

Documentation

http://gcc.gnu.org/gcc-4.8/changes.html

Release Notes

Fedora 19 comes with GCC 4.8.0 as primary compiler, see http://gcc.gnu.org/gcc-4.8/changes.html for user visible changes in it.

Comments and Discussion