Я использовал readelf для нескольких бинарных файлов на своем Linux-компьютере и увидел кое-что, что меня удивило в заголовках программ. Этот пример взят из утилиты 'ld', но он также встречается со всем, что я компилирую с помощью gcc.
PHDR 0x000034 0x08048034 0x08048034 0x00120 0x00120 RE 0x4
Этот сегмент охватывает все заголовки программы. Почему отмечен как исполняемый? Он не содержит машинного кода. Но также, почему даже это присутствует в заголовках? Я действительно не хочу, чтобы это было в моем программном образе.