2013-05-29 138 views
2

我一直在阅读ELF标准here。据我所知,每个ELF都包含ELF标题,程序标题(为什么不止一个?)和节标题。任何人都可以请解释:ELF文件 - 什么是部分,为什么我们需要它?

  1. 如何生成ELF文件?编译器的责任是什么?
  2. 什么是章节,为什么我们需要它们?
  3. 什么是程序头文件,为什么我们需要它们?
  4. 在程序头文件中,字段p_vaddr和p_paddr的含义是什么?
  5. 每个部分是否都有自己的部分标题?

或者,是否有任何人链接到一个更友好的ELF文档?

回答

0

2 - 有许多不同的部分,例如:重定位部分重新获取了许多重定位符号的信息。我使用信息加载一个elf对象并运行/重定位对象。另一个例子:调试部分记录调试信息,gdb使用显示调试信息的数据。 符号部分记录符号信息。

3 - 由加载器使用的编程头,加载器通过查找编程头来加载elf执行文件。

相关问题