问题标签 [gold-linker]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
170 浏览

binutils - 错误:在 binutils-2.27/gold/testsuite 中缺少预期的 TLS 重定位

我正在binutils-2.27gcc 5.3.0. 以下是配置选项:

当我跑步时make check,我得到

0 投票
1 回答
5003 浏览

cmake - 是否可以使用黄金链接器编译和链接 Clang/LLVM?

我正在为 LLVM/Clang 编写自定义通行证,并且重新编译往往需要一段时间并使用大量内存。我听说黄金链接器 (1) 比标准 ld 链接器花费更少的时间和 (2) 使用更少的内存。

有没有办法将标志传递到 LLVM/Clang 构建过程并更改为黄金链接器?根据这个答案,我一直在尝试使用覆盖文件,但我似乎并没有取得很大的成功。

我还要注意,我正在使用 Clang 3.9 编译最新的 Clang/LLVM 构建(4.0);如有必要,我不介意切换回 GCC,但宁愿避免它。

0 投票
1 回答
750 浏览

clang - 在编译时将运行时共享库​​搜索路径添加到可执行文件| 铿锵声| Ubuntu

我正在编译的可执行rpath文件在运行时需要库文件。目前,我正在编译可执行文件,

然后使用以下任一方法提供rpath,

  1. 将其添加到LD_LIBRARY_PATH
  2. 使用patchelf --set-rpath $RPATH a.out

我需要一种方法来指示rpath命令clang ....本身。

我在 Ubuntu 14.04 x86_64 中使用 ld.gold 运行 clang5.0.0-svn(7cf8dd5ce168bed45b57e019149e33300c56f94b) 和 llvm-svn(85f508cd9dba8a982471d98c4f649fb0d63f3451)。

谢谢你 !

0 投票
1 回答
4095 浏览

haskell - 如何在 Haskell 中使用 GNU 黄金链接器而不是 ld 链接

我的 Haskell 项目在执行代码时花费大量时间Linking dist/build/myapp/myapp ...并加载共享库。TemplateHaskell

我怀疑这是因为ld速度慢。

如何通过切换到gold链接器来改善链接时间?

0 投票
0 回答
30 浏览

llvm - 在同一个品牌中使用多个链接器

我目前正在尝试在 gentoo i686 虚拟机中进行 LLVM 的源代码安装,并且在编译(制作)过程中,默认链接器(bfd)由于内存不足而引发错误。

在此站点中,我发现将链接器更改为黄金可以解决此问题(因为当前不能选择增加虚拟机的内存或创建交换文件),并且确实可以,但是在链接另一个库时,它会引发原始链接器的另一个错误没有。

我的问题是,在制作过程的不同部分使用不同的链接器会不会有问题?

提前致谢

0 投票
1 回答
147 浏览

c - 如何使用黄金链接器链接英特尔 MKL 和 libdl?

我在 CentOS 上使用黄金链接器链接英特尔 MKL 和 libdl 时遇到问题:

当我运行这个脚本时:

我得到:

我们正在使用:

有任何想法吗?

0 投票
1 回答
1799 浏览

linker - 使用 GNU gold 链接器引用静态库中的特定符号

使用链接描述文件在地址空间中布局符号时,ld允许使用以下语法引用来自静态库的特定符号:

使用gold而不是ld,似乎这样的指令被忽略了。链接过程成功。但是,当使用此指令将特定符号放置在特定位置gold并使用或查看 Map 文件检查生成的符号布局nm时,该符号不在预期位置。

我使用gcc 5.4.0在其entrety中静态编译的虚拟hello world程序制作了一个小测试用例。C 库是 musl libc(来自官方 git 存储库的 master 分支上的最后一次提交)。对于 binutils,我还使用官方 git 存储库中 master 分支上的最后一次提交。

.text.exit我使用链接器脚本将来自静态库(musl C 库:)的特定符号 ( )libc.a放置在地址空间中的特定位置,即:节中的第一个位置.text

我的链接器脚本是:

我的制作文件:

编译和链接后,我正在检查地图文件(使用 -Map ld/gold标志获得)以查看.text.exit. 用作链接器ld,它确实在文本部分的第一个位置。使用gold,它不是(它在地址空间中更远,好像我的指令没有被考虑在内)。

现在,虽然这些都不适用于gold

这有效:

这是 中缺少的功能gold吗?还是我做错了什么,也许还有另一种方法可以使用 ? 来引用存档中特定目标文件的特定符号gold

0 投票
1 回答
377 浏览

gold-linker - ld.gold:set_info_section 中的内部错误,位于 output.h:3209

当我将 ld 迁移到 gold 时,我遇到了以下错误:

ld.gold:set_info_section 中的内部错误,位于 output.h:3209

我的金币是 binutil-2.25-gold。

我没有从谷歌得到任何线索。有人知道吗?

非常感谢

0 投票
1 回答
142 浏览

c - 为什么黄金链接器会导致 dl_iterate_phdr() 不返回我的自定义注释部分?

在 Linux 上,我想将一些结构存储在自定义.note.foobar部分中,并在运行时发现它们。

我编译和链接下面的程序一次有gold一次没有:

您可以看到ld-linked 版本找到了该部分,而gold-linked 版本没有:

但是,该部分确实存在于两个二进制文件中:

因此,您可能希望test-gold程序报告 vaddr 280 处的部分,但事实并非如此。

为什么dl_iterate_phdr找不到此部分,而readelf可以,以及是gold什么不同的原因导致此?

0 投票
2 回答
18235 浏览

linker - `-rpath-link` 和 `-L` 有什么区别?

男人的gold状态:

bfd 的 manld听起来有点像-rpath-link用于递归包含的 sos。

ld.lld甚至没有将其列为论点。

有人可以为我澄清这种情况吗?