可用的 ELF 可执行文件需要哪些部分?

Nat*_*man 3 elf executable-format sections

我正在创建一个 ELF 可执行文件,我需要知道操作系统需要哪些部分才能加载和执行它。

细节:

操作系统:Ubuntu 10.04(64 位)
内核版本:2.6.32-24
架构:i386

我意识到以下可能是必要的:

  • 。文本
  • .symtab
  • .rel.text

还有其他人吗?

Jos*_*ley 5

“关于为 Linux 创建真正小巧的 ELF 可执行文件的旋风教程”提供了有关如何 (ab) 使用各种 ELF 部分使可执行文件尽可能小的信息。如果您需要更多信息,它还包含指向 ELF 规范的链接。(这也是一本相当有趣的读物。)也许它会告诉你你需要知道什么?

  • 严格来说,您不需要 **any** 部分。动态加载器使用程序头来加载文件,而不是节头。这篇文章确实谈到了这一点,但我只是想明确提及它。如果需要导入符号,可以通过添加 PT_DYNAMIC 段来完成。 (4认同)