现在 Fedora Linux 主要使用 GCC 作为默认的系统编译器,除非是出现上游项目只支持 LLVM/Clang 这种特殊的情况。但是,在 Fedora 上为软件打包的开发者可以自行决定在值得的情况下改用 LLVM Clang 来构建一个特定的软件包。
近日,Jeff Law 和 Tom Stellard(LLVM 的经理,受雇于 Red Hat)已经为 Fedora 35 制定了一个编译器政策的新变化。该提议允许开发者选择用 Clang 构建他们的软件包,即使上游项目支持 GCC。同时,即使上游项目不支持 GNU Compiler Collection,该提案也允许用 GCC 来构建软件包。对于一个特定的软件包来说,使用哪种编译器的决定权在此次提议中将留给了开发者,让他们使用自己的技术判断。
这个提议将保留 GCC 作为默认的系统编译器,但对于那些想要使用 LLVM Clang 的人来说,他们可以选择在 LLVM/Clang 下更快、更优化地构建代码。对于一些特定的工作负载而言,与 GCC 相比,使用 LLVM/Clang 可以获得更好的运行时性能。这类似于英特尔的 Clear Linux 会根据特定的软件包选择性地使用 GCC 或 Clang,以提供更好的性能。除此之外,还有一些安全特性和其他编译器特性也是一些开发者对 LLVM 感兴趣的重要因素。
Fedora 工程和指导委员会目前还没有评估这个编译器政策的变化,对这个 Fedora 35 提案感兴趣的用户可以通过 Fedora Wiki 了解更多。
本文地址:https://www.oschina.net/news/138993/fedora-35-more-llvm-clang