GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Warum ist der Programmkopf ausführbar?

Das PHDR, das auf die PHDRs zeigt, teilt dem Lader mit, dass die PHDRs selbst auf den Adressraum des Prozesses abgebildet werden sollten, um sie dem Programm selbst zugänglich zu machen.

Dies ist hauptsächlich für dynamisches Verlinken nützlich.

Der Speicher wird als ausführbar markiert, weil die PHDRs kleiner als eine Seite sind und sich direkt neben dem Start des ausführbaren Codes befinden. Wenn die Berechtigungen für die PHDRs sich von denen des Programmtexts unterscheiden würden, müsste der Linker Padding dazwischen einfügen.


Linux
  1. Warum ist Cd kein Programm?

  2. Warum funktioniert das ~/.bash_profile nicht?

  3. Warum würde der Kernel Pakete fallen lassen?

  4. Warum ist der Standardprozesserstellungsmechanismus Fork?

  5. Warum tötet der folgende Befehl ein System?

Programmieren Sie Hardware über die Linux-Befehlszeile

Funktionsweise des Ping-Programms unter Linux

Reise eines C-Programms zu Linux Executable in 4 Stufen

Warum ist das .bss-Segment erforderlich?

Warum muss ein Ordner ausführbar sein?

Warum sind .so-Dateien ausführbar?