Fedora 35 Proposal Would Allow More Packages To Be Built Using LLVM Clang

Jeff Law as well as Tom Stellard, who is the current LLVM release manager and employed by Red Hat, have laid out a compiler policy change for Fedora 35. The proposal is to allow packagers to choose to build their package(s) with Clang even where the upstream project supports GCC. At the same time, the proposal would allow for packages to be built with GCC even if the upstream project does not support the GNU Compiler Collection. The decision over the compiler to use for a given package would basically be left up to the packager to use their technical judgment.
This proposal would keep GCC as the default system compiler and most packages would likely continue using GCC, but the option would be there for those wanting to use LLVM Clang such as if the code builds more quickly and optimally under LLVM/Clang. For some workloads, using LLVM/Clang can pay off compared to GCC with measurably better run-time performance. This is similar to how Intel's Clear Linux will selectively use GCC or Clang depending upon the particular package in the name of delivering better performance. There are also some security features and other compiler features of interest to some with the LLVM stack.
Among the packages that are driving this policy change is for being able to use Clang for building Firefox, using LLVM/Clang to build itself rather than GCC, use Clang with its Control Flow Integrity (CFI) functionality with QEMU for better hardening, and other similar packages.
The Fedora Engineering and Steering Committee has yet to evaluate this compiler policy change but for those interested in this Fedora 35 proposal can learn more via the Fedora Wiki.
19 Comments