Un fichier ELF pour executables a un en-tête de programme (segment) et un en-tête de section, qui peut être vu à travers readelf -a
, voici un exemple:quelle partie du fichier ELF doit être chargée dans la mémoire?
Les deux images ci-dessus sont en-tête de section et en-tête de programme (segment), respectivement. On peut voir qu'un en-tête de segment est composé de plusieurs en-têtes de section, qui sont utilisés pour charger le programme dans la mémoire.
Est-il seulement nécessaire que les sections .text, .rodata, .data, .bss soient chargées dans la mémoire?
Est-ce que toutes les autres sections du segment (par exemple, les détecteurs, les .derniers .jcr dans le 3ème segment) sont utilisées pour l'alignement?
Pour _aligning_? –
@ Adriano, oui alignement à la taille de la page, si différente protection peut être utilisée pour une partie différente du programme, par exemple .text (rx) ,. data (rw-) –