Mold 1.0.1 发布,高速现代 Unix 链接器

栏目: 软件资讯 · 发布时间: 3年前

内容简介: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=1make. ( 665bffa )
  • extern "C++"指令现在在动态列表中受支持。( 7aa5c39 )
  • 过去在 Mold 中受忽略的标志 --color-diagnostics,现已得到支持。( 6e290aa )
  • 除了 * ,现在 ? 也被视为版本脚本(version script)通配符模式中的特殊字符。( 31b0248 )
  • --threads=N 选项已添加为 --thread-count=N. ( f9ff048 )
  • 已添加下列选项:--defsymf6e8006), -z nodefaultlib8c86c28-z separate-code-z noseparate-code-z separate-lodable-segments5601cf4), -z max-page-sizef3766cd

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


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

数据结构教程

数据结构教程

彭波 / 第1版 (2004年3月1日) / 2004-3-1 / 34.00元

精心策划,准确定位 概念清晰,例题丰富 深入浅出,内容翔实 体系合理,重点突出一起来看看 《数据结构教程》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器