Linker lld链接器是ld和gold的替代品吗?

Linker lld链接器是ld和gold的替代品吗?,linker,lld,Linker,Lld,lld目前正在开发中,每周都会添加新功能。它的开发者承诺lld比ld更快。与金牌相比,它的竞争力如何 lld是否可以替代ld?与.一位LLD开发者Rui Ueyama回顾了LLD在2016年取得的进展,请参阅 “现在我非常确信,[LLD]将成为现有GNU链接器[…]的一个重要(而且在我看来更好)替代品。” “LLD现在可以链接大多数x86-64用户区程序。” “FreeBSD项目,我们正试图使LLD成为操作系统的系统默认链接器,除了一些棘手的程序,如内核或引导加载程序外,链接器基本上工作正常。

lld
目前正在开发中,每周都会添加新功能。它的开发者承诺
lld
ld
更快。与金牌相比,它的竞争力如何


lld是否可以替代
ld
?与.

一位LLD开发者Rui Ueyama回顾了LLD在2016年取得的进展,请参阅

  • “现在我非常确信,[LLD]将成为现有GNU链接器[…]的一个重要(而且在我看来更好)替代品。”
  • “LLD现在可以链接大多数x86-64用户区程序。”
  • “FreeBSD项目,我们正试图使LLD成为操作系统的系统默认链接器,除了一些棘手的程序,如内核或引导加载程序外,链接器基本上工作正常。”
  • “LLD支持x86、x86-64、x32、AArch64、AMDGPU、ARM、PPC64和MIPS32/64, 尽管完整性各不相同。”
  • “[T]这里已经有一些系统使用LLD作为系统 链接器,如CloudABI或Fuchsia.Chromium和Clang/LLVM本身 生成选项以使用LLD生成它们。”
作为奖励:

  • “LLD在今年年初变得更快[…], LLD用了大约16秒来生成1.5 GB的clang(调试构建) 现在,单核大约需要14.5秒,8.5秒 在20个磁芯上ld.gold大约需要25秒和20秒, 如果您有链接时间过长的问题,我建议您尝试LLD。“
2017年春季更新根据一位开发者的说法,“LLD/ELF现在至少可以用于x86-64(可能还可以用于AARC64和MIPS)。”,请参阅
它还包含关于如何使用LLD的简要说明。

该程序本身声称具有兼容性目标,并且似乎在简单测试中运行良好

例如,在Ubuntu 20.04上:

说:

我能够用
-fuse ld=lld
编译一个C hello world:

gcc -fuse-ld=lld -ggdb3 -O0 -std=c11 -Wall -Wextra -pedantic -o hello.out hello.c
性能基准vs黄金


我将很快在以下网站上记录结果:

他们声称使用新的ELF lld链接Clang的速度是gold的两倍,但二进制文件更大。尽管缺少一些功能,但这看起来很有希望。使用lld和FreeBSD的WIP补丁,可以链接一个工作的基本系统内核和用户区。来源:gcc v9.3.0+现在支持通过-fuse ld=lld使用lld。外部参照:
LLD 10.0.0 (compatible with GNU linkers)
gcc -fuse-ld=lld -ggdb3 -O0 -std=c11 -Wall -Wextra -pedantic -o hello.out hello.c