Linux 5.12终于合并了Clang LTO支持

近日,Linux 5.12 终于合并了 Clang LTO 支持,而且支持 AArch64 (64 位 ARM) 平台和 x86_64 平台。

Linux 5.12终于合并了Clang LTO支持Linux 5.12终于合并了Clang LTO支持

此前本站曾报道过 Linux 5.12 或将支持 Clang LTO 和 Linux 5.12 的 Clang LTO PR 的相关讯息。不过,当时的补丁仅支持 AArch64 平台,并且表示由于一些 objtool 的问题,对于 x86_64 平台的支持或许要在 Linux 5.13 才能实现。而且,Linus Torvalds 过去从未采纳过 LTO 支持的相关提议(包括 GCC),对于这次提交是否同意也尚不清晰。

实际上,使用 Clang LTO 可以得到最佳的运行时性能,并且,Clang 的 CFI(Control-Flow Integrity)实现也借此能得以实施。在这些更改中, 同时也包括 ThinLTO 支持 —— 仅仅进行有限的函数 importing 分析,与传统的构建方式占用内存和时间差不多。像谷歌这样的公司早已在其移动设备上的内核构建中使用 Clang LTO 并取得了不错的效果:大约 3 年前开始, Android 内核不仅由 Clang 构建,而且还利用了链接时优化。微软也探索过使用 LTO + PGO 来给 Linux 内核提升性能。除了性能之外,Clang LTO 还允许启用 CFI 以获得更高的安全性。

令人兴奋的是,Linus Torvalds 终于合并了 Clang LTO 支持。而且这次的补丁不仅包括之前的 AArch64 平台支持,它还有第二部分:支持 x86_64 平台。在 Linux 5.12 中,用户使用脚本即可启用 Linux 内核 Clang LTO 构建:

make LLVM=1 LLVM_IAS=1 defconfig

scripts/config -e LTO_CLANG_THIN

make LLVM=1 LLVM_IAS=1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux下下载指定版本的Clang指定版本,可以通过以下步骤进行操作。 1. 打开终端,并以root身份登录或使用sudo命令获取管理员权限。 2. 确保系统上已安装版本管理工具git,并在终端中运行以下命令以安装git: ``` sudo apt-get install git ``` 3. 使用git命令下载Clang的源代码。首先,导航到需要存储源代码的目录。然后,运行以下命令: ``` git clone https://github.com/llvm/llvm-project.git ``` 4. 进入下载的llvm-project目录: ``` cd llvm-project ``` 5. 查看可用的Clang版本列表。使用git命令切换到您所需的版本,并列出可用的标签: ``` git tag -l ``` 6. 选择您所需的Clang版本。运行以下命令以切换到特定版本: ``` git checkout <version-tag> ``` 请替换<version-tag>为您选择的版本标签。 7. 构建Clang。运行以下命令以构建Clang并生成相应的可执行文件: ``` mkdir build cd build cmake ../llvm -G "Unix Makefiles" make ``` 这将会花费一些时间,取决于系统性能和源代码的大小。 8. 安装Clang。成功构建Clang后,运行以下命令以将其安装到系统中: ``` sudo make install ``` 9. 验证Clang版本。在终端中运行以下命令以验证已安装的Clang版本: ``` clang --version ``` 10. 现在,您已成功在Linux中下载并安装了指定版本的Clang。 请注意,上述步骤假设您具有基本的Linux操作知识,并且系统已正确配置和更新。步骤中提及的命令可能有所不同,具体取决于您所使用的Linux发行版和版本。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值