(Switch GCC in Fedora 22 to 5.x.y, rebuild all packages with it.) |
(Change Announced on 2015-01-14) |
||
Line 80: | Line 80: | ||
Fedora 22 comes with GCC 5.1 as primary compiler, see http://gcc.gnu.org/gcc-5/changes.html for user visible changes in it. | Fedora 22 comes with GCC 5.1 as primary compiler, see http://gcc.gnu.org/gcc-5/changes.html for user visible changes in it. | ||
[[Category: | [[Category:ChangeAnnounced]] | ||
[[Category:SystemWideChange]] | [[Category:SystemWideChange]] |
Revision as of 11:54, 14 January 2015
GCC5
Summary
Switch GCC in Fedora 22 to 5.x.y, rebuild all packages with it.
Owner
- Name: Jakub Jelínek
- Email: jakub@redhat.com
- Release notes owner:
Current status
- Targeted release: Fedora 22
- Last updated: 2015-01-14
- Tracker bug: <will be assigned by the Wrangler>
Detailed Description
GCC 5 is currently in stage3, but in 3 days will move to stage4, in prerelease state with only regression bugfixes and documentation fixes allowed. The release will happen probably in the first half of April. We are working on scratch gcc rpms and will perform a test mass rebuild. Other distributions have performed test mass rebuilds already.
Benefit to Fedora
See http://gcc.gnu.org/gcc-5/changes.html for the list of changes.
Scope
All packages should be rebuilt with the new gcc once it hits f22.
- Proposal owners:
Build gcc in f22, rebuild packages that have direct dependencies on exact gcc version (libtool, llvm, gcc-python-plugin).
- Other developers: First few days/weeks just voluntary rebuilds using the new system gcc, if things fail, look at http://gcc.gnu.org/gcc-5/porting_to.html and fix bugs in packages or, if there is a gcc bug or suspected gcc bug, analyze and report.
- Release engineering: Organize a mass rebuild
- Policies and guidelines: No policies need to be changed
Upgrade/compatibility impact
No impact
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 added partial C++14 support, OpenMP 4.0 offloading support and OpenACC 2.0 support, improved vectorization support, etc. Developers will notice a newer compiler, and might need to adjust their codebases acording to http://gcc.gnu.org/gcc-5/porting_to.html, or, if they detect a GCC bug, report it.
Dependencies
libtool, dragonegg, gcc-python-plugin, llvm depend on exact gcc version, those 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.
- Contingency mechanism: Revert to older gcc, mass rebuild everything again
- Contingency deadline: Before release
- Blocks release? Yes
- Blocks product? No
Documentation
Release Notes
Fedora 22 comes with GCC 5.1 as primary compiler, see http://gcc.gnu.org/gcc-5/changes.html for user visible changes in it.