使用ld.gold将静态库直接链接到可执行文件

时间:2018-07-20 11:18:18

标签: linker static-libraries elf gold-linker

我有一个libfoo.a,其中包含_start和可执行文件的所有必需符号。 ld.bfd -o foo libfoo.a在我的情况下工作顺利。但是,ld.gold -o foo libfoo.a无法静默生成libfoo.a中没有符号的可执行文件。创建一个空的a.o并将其与ld.gold -o foo a.o libfoo.a链接。

我想知道有什么方法可以使用ld.gold将静态库直接链接到可执行文件,而不创建多余的空对象文件吗?

1 个答案:

答案 0 :(得分:2)

您可以使用-e _start选项显式指定条目符号,链接器将使用该符号来决定是否需要加载定义它的对象。

不幸的是,金不会使用隐式开始符号从存档库中加载对象。