Linux 特有的 ELF 特性¶
定義¶
“第一個”程式頭是在檔案中具有最小偏移量的頭:e_phoff。
“最後一個”程式頭是在檔案中具有最大偏移量的頭:e_phoff + (e_phnum - 1) * sizeof(Elf_Phdr)。
PT_INTERP¶
第一個 PT_INTERP 程式頭用於定位 ELF 直譯器的檔名。 其他 PT_INTERP 頭將被忽略 (自 Linux 2.4.11 起)。
PT_GNU_STACK¶
最後一個 PT_GNU_STACK 程式頭定義使用者空間堆疊的可執行性 (自 Linux 2.6.6 起)。 其他 PT_GNU_STACK 頭將被忽略。
PT_GNU_PROPERTY¶
ELF 直譯器的最後一個 PT_GNU_PROPERTY 程式頭被使用 (自 Linux 5.8 起)。 如果直譯器沒有,則使用可執行檔案的最後一個 PT_GNU_PROPERTY 程式頭。 其他 PT_GNU_PROPERTY 頭將被忽略。