From Fedora Project Wiki

Revision as of 16:14, 27 January 2012 by Rbergero (talk | contribs) (Moved to FeatureAcceptedF17 - feature was accepted at 2012-01-09 meeting.)


GCC 4.7.x

Summary

Switch GCC in Fedora 17 to 4.7.x, rebuild all packages with it.

Owner

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

Current status

  • Targeted release: Releases/17
  • Last updated: (DATE)
  • Percentage of completion: 50%

Detailed Description

GCC 4.7.0 is going to be released in mid March to mid April, is currently in bugfix only mode and is going to switch into regression bug fix mode in January. I've performed a test mass rebuild on x86_64 with gcc-4.7.0-0.1.fc17, out of 11270 packages 10056 built successfully, 845 packages failed to build both with gcc-4.7.0-0.1.fc17 and gcc-4.6.2-1.fc16 (thus unlikely gcc related), 108 failed to build due to missing <unistd.h> includes (which is no longer incorrectly included as implementation detail of some STL headers), 60 + 28 packages failed to build due to fixes in C++ lookup, 23 failed because boost needs fixing for gcc 4.7.0. I've encountered 3 different ICEs during the mass rebuild, all of them filed right now in upstream bugzilla.

Benefit to Fedora

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

Scope

All packages should be rebuilt with the new gcc once it hits dist-f17.

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 11000+ 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.

Documentation

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

Release Notes

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

Comments and Discussion