专业的编程技术博客社区

网站首页 > 博客文章 正文

Ubuntu 21.04将为其软件包启用LTO优化

baijin 2024-09-12 11:07:06 博客文章 14 ℃ 0 评论

文|御坂弟弟

根据邮件列表显示,Ubuntu 21.04 将为其软件包的构建启用 LTO 支持。

链接时间优化 LTO(Link time optimization)是一种链接时对整个程序多个编译单元优化的方法,其所生成的代码更快,文件更小。现在,像 GCC,Python 这样的上游项目已经默认打开 LTO 或提供 LTO 配置选项,其他 Linux 发行版也在发行时默认打开 LTO。此外,Linux Kernel 5.12 也或将支持 LTO 优化。

根据 wiki 显示,除了 riscv64 外(不想减慢其构建速度),Ubuntu 21.04 计划在将 glibc 2.33 添加到发行版后为所有的 64 位架构默认启用 LTO。目前,LTO 的编译器标志已经添加到 dpkg-buildflags 中,可以在软件包构建中被覆盖,将在 amd64,arm64,ppc64el 和 s390x 上启用。同时,Ubuntu 21.04 提供了 LTO 的开关:

export DEB_BUILD_MAINT_OPTIONS=optimize=+lto// 打开 LTO
export DEB_BUILD_MAINT_OPTIONS=optimize=-lto// 关闭 LTO

另外,开发者已经对 LTO 支持分别用 GCC 9 和 GCC 10 进行了测试

  • GCC 9

    • https://people.canonical.com/~doko/ftbfs-report/test-rebuild-20190906-eoan.html

    • https://people.canonical.com/~doko/ftbfs-report/test-rebuild-20190906-lto-eoan.html

  • GCC 10

    • https://people.canonical.com/~doko/ftbfs-report/test-rebuild-20201216-hirsute-hirsute.html

    • https://people.canonical.com/~doko/ftbfs-report/test-rebuild-20201216-hirsute-lto-hirsute.html


本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表