内容简介:Mold 是现有 Unix 链接器的快速替代品,它比 LLVM lld 链接器快几倍。 目前 Mold 发布了最新版本 1.0.1 ,此版本带来以下新功能和各种错误修复: 新功能 make install现在创建/usr/local/libexec/mold/ld,作为m...
Mold 是现有 Unix 链接器的快速替代品,它比 LLVM lld 链接器快几倍。
目前 Mold 发布了最新版本 1.0.1 ,此版本带来以下新功能和各种错误修复:
新功能
make install
现在创建/usr/local/libexec/mold/ld
,作为mold
可执行文件的符号链接。现在也为 GCC 执行此操作,通过传递-B/usr/local/libexec/mold
,可以告诉 GCCld
在该目录中使用,而不是/usr/bin/ld
. ( e8dcecf )- xxHash 库现在作为子树包含在模具的源树中,以便于构建。如果要链接到系统库目录中的 libxxhash,请传递
SYSTEM_XXHASH=1
到make
. ( 665bffa ) extern "C++"
指令现在在动态列表中受支持。( 7aa5c39 )- 过去在 Mold 中受忽略的标志
--color-diagnostics
,现已得到支持。( 6e290aa ) - 除了
*
,现在?
也被视为版本脚本(version script)通配符模式中的特殊字符。( 31b0248 ) --threads=N
选项已添加为--thread-count=N
. ( f9ff048 )- 已添加下列选项:
--defsym
(f6e8006),-z nodefaultlib
(8c86c28)-z separate-code
,-z noseparate-code
和-z separate-lodable-segments
(5601cf4),-z max-page-size
(f3766cd)
bug 修复
- 现在对未知
-z
选项发出警告而不是错误。( 8bc5736 ) - 之前为非 SHF_ALLOC 注释段创建了一个 PT_NOTE 段。这是一个错误的行为,应该只为内存分配的部分创建段。这个问题已经解决。( 76407a6 )
- 之前当未定义符号升级为动态符号时,版本脚本会影响它们的符号可见性,这是语义上不正确的行为,且会导致 libQt 构建失败(#151)。目前问题已修复。( 3663389 )
- 从 1.0.1 开始, Mold 的行为与 GNU ld 相同。( 04ccd4d )
- 以前,模具针对 Initial-Exec 线程局部变量应用了错误的重定位值。这导致 Mesa 3D 图形库 ( #197 )的链接失败。问题已解决。( d116113 )
- GCC 7 有一个错误,它在特定条件下针对线程局部变量发出不正确的重定位,为了与 GCC 7 的错误兼容性,mold 不会将其报告为错误。( d9606d6 )
- 如果输出文件包含多个线程局部 BSS 部分,则它们的布局会相互重叠。此错误导致使用 DMD 编译的程序出现运行时错误,DMD 是 D 语言的编译器 ( #126 )。此布局问题已解决。( b151de6 )
- 以前,在某些情况下的
--sysroot
中,mold 无法查找正确的文件。这导致ClickHouse ( #150 )的链接失败。这个错误已被修复。( 135f17c )
更新公告:https://github.com/rui314/mold/releases/tag/v1.0.1
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 技术助力高速增长,未来5年智能门锁或迎来高速增长
- 微服务高速通信设计
- 手动编译高速扫描器MasScan
- 符号执行——从入门到上高速
- HHVM 4.100 发布,高速开源虚拟机
- HHVM 4.101 发布,高速开源虚拟机
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
RGB转16进制工具
RGB HEX 互转工具
Markdown 在线编辑器
Markdown 在线编辑器