mailweb.openeuler.org
Manage this list

Keyboard Shortcuts

Thread View

  • j: Next unread message
  • k: Previous unread message
  • j a: Jump to all threads
  • j l: Jump to MailingList overview

Compass-ci

Threads by month
  • ----- 2025 -----
  • May
  • April
  • March
  • February
  • January
  • ----- 2024 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2023 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2022 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2021 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2020 -----
  • December
  • November
  • October
  • September
compass-ci@openeuler.org

February 2025

  • 1 participants
  • 1 discussions
openEuler 2503版本构建部分使能mold相关说明
by yinchuang 27 Feb '25

27 Feb '25
各位伙伴好: 背景: 为了提升openEuler软件包的编译效率,从而进一步提升门禁和开发者本地开发效率,我们在2503版本使用mold链接器来缩短C/C++库的链接时间。 Mold(A Modern Linker)是一种对比其他链接器(GNU ld、GNU gold、LLVM lld)链接效率更高的开源链接器, 其通过更高效的Identical Comdat Folding (ICF)算法、更好的并行编程,更高效的多线程库等技术来提升链接的效率,具体可参考:https://github.com/rui314/mold/blo… 具体方案: 由于mold链接器本身存在一定的功能欠缺(对kernel的不支持,对linker script支持不完善)我们决定对一些编译时间较长且不受mold影响的包打开mold 链接: 1. 在2503版本上白名单内的软件包默认配置使用mold进行链接,白名单可参见:https://gitee.com/src-openeuler/openE… 2. 为了提供更加灵活的链接器配置方式,各软件包可在spec文件中覆写_ld_use变量来切换链接器,如: 1) %define _ld_use %{nil} 取消因为软件包在白名单中所添加的mold选项 2) %define _ld_use -fuse-ld=xxx 切换到不同的链接器,注意当定义多个-fuse-ld 选项时编译器会取最后一个配置项 3. 版本上会预装mold链接器来提供各软件包对mold的调用 收益:经统计通过使能mold的软件包编译效率总体可提升5+% 我们会持续在社区讨论mold使能可行性与风险,感谢大家。 openEuler Compiler SIG 印闯
1 0
0 0

HyperKitty Powered by HyperKitty