(Added Feature name, moved to FeatureReadyForFesco, ticket #726.)
(Moved to FeatureAcceptedF17 - feature was accepted at 2012-01-09 meeting.)
|Line 54:||Line 54:|
Revision as of 16:14, 27 January 2012
Switch GCC in Fedora 17 to 4.7.x, rebuild all packages with it.
- Name: Jakub Jelinek
- Email: firstname.lastname@example.org
- Targeted release: Releases/17
- Last updated: (DATE)
- Percentage of completion: 50%
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.
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.
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.
All packages need to be rebuilt.
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.
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.