我有一个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
将静态库直接链接到可执行文件,而不创建多余的空对象文件吗?
答案 0 :(得分:2)
您可以使用-e _start
选项显式指定条目符号,链接器将使用该符号来决定是否需要加载定义它的对象。
不幸的是,金不会使用隐式开始符号从存档库中加载对象。