Switch GCC in Fedora 19 to 4.8.x, rebuild all packages with it.
- Name: Jakub Jelinek
- Email: email@example.com
- Targeted release: Releases/19
- Last updated: 2013-03-18
- Percentage of completion: 95%
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.
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.
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 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.
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.