Phoronix 报道称,目前除了上游仅支持 LLVM / Clang 的项目之外,Fedora Linux 目前主要还是使用 GCC 作为默认的系统编译器。然而随着技术的不断发展,预计将有越来越多的软件会采用 LLVM Clang 来构建封包。最新消息是,Jeff Law 及现任 LLVM 版本管理者 —— 受 Red Hat 聘用的 Tom Stellard —— 已经为 Fedora 35 制定了新的编译器政策。
(来自:Fedora Wiki)
根据最新的建议,编译器的选择权还是在应用程序打包者的手中。可即便上游还在使用不支持 GNU 编译器集合的 GCC,Fedora 35 仍鼓励广大开发者使用 Clang 来构建应用程序。
预计在 GCC 成为了系统的默认编译器后,大多数软件包仍会继续使用 GCC 。但对于那些希望使用 LLVM Clang 的开发者来说,如果他们构建的优化代码可以在 LLVM / Clang 下跑得更快,后续一定会吸引到更多的用户。
工作负载方面,与 GCC 相比,使用 LLVM / Clang 的运行时(runtime)性能更加可观、辅以某些安全特性和其它编译器功能增强。此外与英特尔的 Clear Linux 类似,它能够根据特定的软件包、有选择地使用 GCC 或 Clang 。
(来自:Fedora People)
推动这一政策变化的软件,包括会使用 LLVM / Clang、而不是 GCC 来编译自身的 Mozilla Firefox,借助 Clang 和 QEMU 来打造更硬实的控制流完整性(CFI)功能,以及其它类似的打包工作。
需要指出的是,目前 Fedora 工程与指导委员会尚未就本次编译器政策变更而发表评估意见。不过对 Fedora 35 提案感兴趣的朋友,还是可以跑到 Fedora Wiki 上查阅更多信息。