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

时间:2010-09-30 16:38:18

标签: elf executable-format sections

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

  

详细说明:

OS:               Ubuntu 10.04 (64-bit)
Kernel version:   2.6.32-24
Architecture:     i386

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

  • 的.text
  • 的.symtab
  • .rel.text

还有其他人吗?

2 个答案:

答案 0 :(得分:4)

"A Whirlwind Tutorial on Creating Really Teensy ELF Executables for Linux "有关于如何(ab)使用各种ELF部分使可执行文件尽可能小的信息。如果您需要更多信息,它还包含指向ELF规范的链接。 (这也是一个相当有趣的阅读。)也许它会告诉你你需要知道什么?

答案 1 :(得分:2)

我决定尝试系统地从GCC生成的ELF文件中删除部分。

我能够删除许多部分,但是这些部分无法删除并且可执行文件仍然执行而没有分段错误:

.dynsym
.dynstr
.gnu.version_r
.rel.plt
.init
.plt
.text
.fini
.ctors
.dtors
.dynamic
.got.plt
.data
.strtab