I used readelf on several binaries in my linux box and saw something that surprised me in the program headers. This eample is from the 'ld' utility, but it also happens with anything that I am compiling with gcc.
PHDR 0x000034 0x08048034 0x08048034 0x00120 0x00120 RE 0x4
This segment covers all program titles. Why is it marked as executable? It does not contain machine code. But also, why is it even present in the headlines? I really do not want this in the image of my program.
source
share