Fedora 33 LTO Support Is Now In Good Shape For Faster, Smaller Packages
Fedora's plans to make use of link-time optimizations (LTO) by default with the GCC compiler when building Fedora 33 packages is looking like it will successfully pan out.
Thanks to the upstream GCC support being in quite good shape these days for LTO'ing software due to the upstream work done by SUSE, Red Hat, and others, Fedora 33 should join the likes of openSUSE employing LTO when building their packages. Fedora developers have been working through issues when enabling LTO optimizations while now they have it under control and at least have the list of packages sorted out for the time being to skip in applying link-time optimizations until the bugs in the package or upstream compiler shortcomings are sorted out.
Red Hat's Jeff Law commented on the mailing list this week, "So we're at a point where the F33 FTBFS issues related to LTO that I'm aware of have been resolved (by opting the package out of LTO). I still expect some LTO issues will pop up as packages fix things like missing dependencies, cmake macros, etc. I continue to be available to investigate potential LTO issues, but package maintainers will need to contact me as I'm not actively looking for new LTO issues."
The Red Hat engineer added, "My focus is now turning to the packages with LTO opt-outs. I'll be extracting bug reports for upstream (primarily GCC), trying simple workarounds for old style symbol versioning, identifying backports from upstream GCC that allow us to remove LTO opt-outs and the like. So there should be a trickle of opt-outs removed, but otherwise should largely be invisible to the F33 release process."
Fedora 33 is shaping up to be a damn exciting release from LTO'ed packages to Btrfs by default on desktop spins to many other new features introduced. Fedora 33 is aiming to release by the end of October while the beta release should be coming mid-September. The 100% code completion deadline for new F33 changes meanwhile is coming up next week.