2013-05-29 247 views
2

我一直在閱讀ELF標準here。據我所知,每個ELF都包含ELF標題,程序標題(爲什麼不止一個?)和節標題。任何人都可以請解釋:ELF文件 - 什麼是部分,爲什麼我們需要它?

  1. 如何生成ELF文件?編譯器的責任是什麼?
  2. 什麼是章節,爲什麼我們需要它們?
  3. 什麼是程序頭文件,爲什麼我們需要它們?
  4. 在程序頭文件中,字段p_vaddr和p_paddr的含義是什麼?
  5. 每個部分是否都有自己的部分標題?

或者,是否有任何人鏈接到一個更友好的ELF文檔?

回答

0

2 - 有許多不同的部分,例如:重定位部分重新獲取了許多重定位符號的信息。我使用信息加載一個elf對象並運行/重定位對象。另一個例子:調試部分記錄調試信息,gdb使用顯示調試信息的數據。 符號部分記錄符號信息。

3 - 由加載器使用的編程頭,加載器通過查找編程頭來加載elf執行文件。

相關問題