Linux 5.12 的 Clang LTO PR 已经发起,但尚未支持 x86_64

2021年2月18日   |   by tgcode

根据邮件列表显示,Clang LTO PR 已经发起,不过该拉取请求目前处于挂起状态。当使用 Clang 编译器构建 Linux 5.12 内核时,将允许启用 Clang 链接时优化(LTO)。该拉取请求已为核心基础结构和 64 位 ARM(AArch64)准备了编译器优化工作,而对于 x86_64 的支持预计将于 Linux 5.13 实现。

%title插图%num

此前,本站曾报道了Linux 5.12 或将支持 Clang LTO的相关信息。使用 Clang LTO 可以得到最佳的运行时性能,并且,Clang的 CFI(Control-Flow Integrity)实现也借此能得以实施。在本次更改中, 同时也包括 ThinLTO 支持 —— 仅仅进行有限的函数 importing 分析,与传统的构建方式占用内存和时间差不多。

过去,Linus Torvalds 从未采纳过 LTO 支持的相关提议(包括 GCC),但是像谷歌这样的公司早已在其移动设备上的内核构建中使用 Clang LTO 并取得了不错的效果:大约 3 年前开始,Android 内核不仅由 Clang 构建,而且还利用了链接时优化。微软也探索过使用 LTO + PGO 来给 Linux 内核提升性能。除了性能之外,Clang LTO 还允许启用 CFI 以获得更高的安全性。

不过,与上次报到时情况相同,对于x86_64 的支持由于一些objtool 的问题仍在等待中,预计将于 Linux 5.13 才能实现。

展开阅读全文

0 收藏

分享

tgcode

相关推荐: 8.2K星标“程序员考公指南”登顶GitHub,创建者坦言:告别996,真香

  996 文化之下,程序员们也要另谋出路了。   最近一个“程序员考公指南(coder2gwy)”项目在 GitHub 上火了。短短几天收获了 8.2k Star、 1.1k Fork。   这并不让人感到意外。近几年“工作 996,生病 ICU”已经成为这…

Tags: , , , , , ,