如何使用 ld 脚本在 elf 目标中设置入口点
How set set entry point in a elf target using ld script
我想使用链接描述文件指定我的 ELF 文件的入口点。我已经在我的 ELF 中定义了一些部分,所以也想设置一个入口点。谁能告诉我怎么做?
有一个特殊的 (GNU) 链接描述文件命令可以将入口点设置为给定符号的地址 ENTRY(symbol)
。参考official documentation.
首先将当前链接器脚本获取到一个文件:
ld --verbose a.o | sed '/======/,/======/!d;//d' > myscript
这里我们过滤了 =====
之间的行,如在:How to select lines between two marker patterns which may occur multiple times with awk/sed
中提到的
然后将 ENTRY(_start)
行编辑为您想要的符号。
最后使用 -T
到 select 自定义脚本:
ld --verbose -T myscript a.o
看起来命令行参数 -e entryName
是解决问题的方法。 man ld
应该也会提醒您。
我想使用链接描述文件指定我的 ELF 文件的入口点。我已经在我的 ELF 中定义了一些部分,所以也想设置一个入口点。谁能告诉我怎么做?
有一个特殊的 (GNU) 链接描述文件命令可以将入口点设置为给定符号的地址 ENTRY(symbol)
。参考official documentation.
首先将当前链接器脚本获取到一个文件:
ld --verbose a.o | sed '/======/,/======/!d;//d' > myscript
这里我们过滤了 =====
之间的行,如在:How to select lines between two marker patterns which may occur multiple times with awk/sed
然后将 ENTRY(_start)
行编辑为您想要的符号。
最后使用 -T
到 select 自定义脚本:
ld --verbose -T myscript a.o
看起来命令行参数 -e entryName
是解决问题的方法。 man ld
应该也会提醒您。