问题标签 [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.
binutils - 错误:在 binutils-2.27/gold/testsuite 中缺少预期的 TLS 重定位
我正在binutils-2.27
用gcc 5.3.0
. 以下是配置选项:
当我跑步时make check
,我得到
cmake - 是否可以使用黄金链接器编译和链接 Clang/LLVM?
我正在为 LLVM/Clang 编写自定义通行证,并且重新编译往往需要一段时间并使用大量内存。我听说黄金链接器 (1) 比标准 ld 链接器花费更少的时间和 (2) 使用更少的内存。
有没有办法将标志传递到 LLVM/Clang 构建过程并更改为黄金链接器?根据这个答案,我一直在尝试使用覆盖文件,但我似乎并没有取得很大的成功。
我还要注意,我正在使用 Clang 3.9 编译最新的 Clang/LLVM 构建(4.0);如有必要,我不介意切换回 GCC,但宁愿避免它。
clang - 在编译时将运行时共享库搜索路径添加到可执行文件| 铿锵声| Ubuntu
我正在编译的可执行rpath
文件在运行时需要库文件。目前,我正在编译可执行文件,
然后使用以下任一方法提供rpath
,
- 将其添加到
LD_LIBRARY_PATH
- 使用
patchelf --set-rpath $RPATH a.out
我需要一种方法来指示rpath
命令clang ....
本身。
我在 Ubuntu 14.04 x86_64 中使用 ld.gold 运行 clang5.0.0-svn(7cf8dd5ce168bed45b57e019149e33300c56f94b) 和 llvm-svn(85f508cd9dba8a982471d98c4f649fb0d63f3451)。
谢谢你 !
haskell - 如何在 Haskell 中使用 GNU 黄金链接器而不是 ld 链接
我的 Haskell 项目在执行代码时花费大量时间Linking dist/build/myapp/myapp ...
并加载共享库。TemplateHaskell
我怀疑这是因为ld
速度慢。
如何通过切换到gold
链接器来改善链接时间?
llvm - 在同一个品牌中使用多个链接器
我目前正在尝试在 gentoo i686 虚拟机中进行 LLVM 的源代码安装,并且在编译(制作)过程中,默认链接器(bfd)由于内存不足而引发错误。
在此站点中,我发现将链接器更改为黄金可以解决此问题(因为当前不能选择增加虚拟机的内存或创建交换文件),并且确实可以,但是在链接另一个库时,它会引发原始链接器的另一个错误没有。
我的问题是,在制作过程的不同部分使用不同的链接器会不会有问题?
提前致谢
c - 如何使用黄金链接器链接英特尔 MKL 和 libdl?
我在 CentOS 上使用黄金链接器链接英特尔 MKL 和 libdl 时遇到问题:
当我运行这个脚本时:
我得到:
我们正在使用:
有任何想法吗?
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
?
gold-linker - ld.gold:set_info_section 中的内部错误,位于 output.h:3209
当我将 ld 迁移到 gold 时,我遇到了以下错误:
ld.gold:set_info_section 中的内部错误,位于 output.h:3209
我的金币是 binutil-2.25-gold。
我没有从谷歌得到任何线索。有人知道吗?
非常感谢
c - 为什么黄金链接器会导致 dl_iterate_phdr() 不返回我的自定义注释部分?
在 Linux 上,我想将一些结构存储在自定义.note.foobar
部分中,并在运行时发现它们。
我编译和链接下面的程序一次有gold
一次没有:
您可以看到ld
-linked 版本找到了该部分,而gold
-linked 版本没有:
但是,该部分确实存在于两个二进制文件中:
因此,您可能希望test-gold
程序报告 vaddr 280 处的部分,但事实并非如此。
为什么dl_iterate_phdr
找不到此部分,而readelf
可以,以及是gold
什么不同的原因导致此?
linker - `-rpath-link` 和 `-L` 有什么区别?
男人的gold
状态:
bfd 的 manld
听起来有点像-rpath-link
用于递归包含的 sos。
ld.lld
甚至没有将其列为论点。
有人可以为我澄清这种情况吗?