GNU/Linux >> Tutoriales Linux >  >> Linux

¿Por qué el encabezado del programa es ejecutable?

El PHDR que apunta a los PHDR le dice al cargador que los propios PHDR deben asignarse al espacio de direcciones del proceso, para que sean accesibles para el propio programa.

Esto es útil principalmente para enlaces dinámicos.

La razón por la que la memoria está marcada como ejecutable es porque los PHDR son más pequeños que una página y se encuentran justo al lado del inicio del código ejecutable. Si los permisos para los PHDR fueran diferentes a los del texto del programa, el enlazador tendría que insertar relleno entre ellos.


Linux
  1. ¿Por qué Cd no es un programa?

  2. Listar los archivos a los que accede un programa?

  3. ¿Por qué el siguiente comando está matando un sistema?

  4. ¿Por qué no puedo exportar la pantalla de Linux?

  5. ¿Dónde está el archivo de encabezado <conio.h> en Linux? ¿Por qué no puedo encontrar <conio.h>?

Programe hardware desde la línea de comandos de Linux

Cómo funciona el programa ping en Linux

Linux:¿por qué el kernel no puede ejecutar Init?

Viaje de un programa en C a un ejecutable de Linux en 4 etapas

gdb parece ignorar las capacidades ejecutables

¿Por qué se requiere el segmento .bss?