如何使用ld脚本在elf目标中设置set入口点

我想使用链接描述文件指定我的ELF文件的入口点。 我已经在我的ELF中定义了一些部分,所以想要设置一个入口点。 谁能告诉我怎么做?

有一个特殊的(GNU)链接描述文件命令,它将入口点设置为给定符号的地址ENTRY(symbol) 。 请参阅官方文档 。

首先将当前链接描述文件获取到一个文件:

 ld --verbose ao | sed '/======/,/======/!d;//d' > myscript 

在这里我们过滤了=====之间的线,如下所述: 如何选择两个标记模式之间的线条,这些线条可能会出现多次awk / sed

然后将ENTRY(_start)行编辑为所需的符号。

最后使用-T选择自定义脚本:

 ld --verbose -T myscript ao 

看起来像命令行参数-e entryName是它的方法。 一个man ld应该给你一个抬头。