是时候彻底改造 GNU 动态链接器了吗?

2020年08月31日

在上周举办的 Linux Plumbers 大会上的 GNU Tools 专区,红帽公司的 Ben Woodard 发表了有趣的演讲。他对 GNU 动态链接器(ld.so)是否可以在 2020 年代进行大改造发表了自己的看法。

考虑到 Linux 如今的地位和 Unix 战争已结束(80年代末和90年代初 Unix 计算机操作系统供应商之间为建立 Unix 标准而进行的斗争),Ben 表达了他对动态链接器/加载器的看法,认为现在是对它们进行大改造的成熟时机,以使其更适合当今的世界。

Ben 总结的 ld.so 失败之处:

Ben 指出可能改进的领域包括提供更健壮的链接、更快的链接,以及新的性能和调试角度。他的“疯狂想法”还包括尝试使用支持 ABI 的加载器、向加载器注册工具接口(tool interface)、在加载器中使用早期分支以引入新行为,以及提供模块化的库需求求解器等。

当然,Ben 目前还没有编写全面改造 GNU 动态链接器/加载器的代码,至少尚未公开,但是考虑到 Red Hat 的工程师资源,不妨看看这是否是他们所追求的领域并会为之努力。

对此主题感兴趣可查看 PDF 幻灯片

展开阅读全文
3 收藏
分享
加载中
精彩评论
如果确实被接受而开始改造,我倒是很好奇Clang/LLVM会怎么接招,跟进后会不会改进得比GCC好很多
2020-08-31 13:09
1
举报
最新评论 (5)
早就该改了。
2020-08-31 13:50
0
回复
举报
如果确实被接受而开始改造,我倒是很好奇Clang/LLVM会怎么接招,跟进后会不会改进得比GCC好很多
2020-08-31 13:09
1
回复
举报
llvm的连接器已经比gcc的好很多了, 最起码速度快很多
2020-08-31 17:03
0
回复
举报
Program   Output size   GNU ld   GNU gold w/o threads   GNU gold w/threads   lld w/o threads   lld w/threads
ffmpeg dbg   92 MiB   1.72s   1.16s   1.01s   0.60s   0.35s
mysqld dbg   154 MiB   8.50s   2.96s   2.68s   1.06s   0.68s
clang dbg   1.67 GiB   104.03s   34.18s   23.49s   14.82s   5.28s
chromium dbg   1.14 GiB   209.05s [1]   64.70s   60.82s   27.60s   16.70s
2020-08-31 17:05
0
回复
举报
🐳 无情~~
2020-08-31 12:43
0
回复
举报
更多评论
5 评论
3 收藏
分享
返回顶部
顶部