使用程序或节头来加载ELF

时间:2018-02-15 07:33:12

标签: elf

我正在编写一个EFI应用程序,它将ELF加载到内存中并跳转到它,但我不知道我应该首先分析哪个头(程序或节头)。我有一个函数,它读取程序头以将ELF加载到内存中(可以正常工作),以及一个读取段头以将ELF加载到内存中的函数(也可以工作)。

1 个答案:

答案 0 :(得分:1)

程序加载器应该只查看程序头。节标题适用于调试器等工具。我不认为这是在原始ELF规范或System V ABI规范中明确说明的,但非常暗示:

即使在今天,当定义动态链接器使用的新功能时,引用也会动态添加到动态部分,即使理论上也可以从部分头部获取信息(但可能有一些某些架构的例外情况。)