Compilé un pequeño programa en C (2 líneas de códigos) con gcc para tratar de entender el formato de archivo ELF. Haciendo un readelf -hen el archivo de objeto, tengo en el encabezado:
OS/ABI:                            UNIX - System V 
Estoy usando Fedora, entonces ¿por qué no es Linux en su lugar?
Editar : compilé
int main(){
  int x = 0;
  x++;
}
con gcc -o main.o -c main.c. Mi versión de gcc es
gcc (GCC) 4.5.1 20100924 (Red Hat 4.5.1-4) 
                
gcc --versiony iii) el comando exacto que utilizó para compilarlo.readelf -h /bin/lsen Debian GNU / Linux. También se mostróOS/ABI: UNIX - System V. Supongo que el ABI se usa en más de un kernel, no solo en Linux. También sé que Linux admite más de un ABI.Respuestas:
Existen pocas diferencias entre los ejecutables ELF en diferentes plataformas. "UNIX - Sistema V" es el terreno común; El sistema V es de donde proviene el formato ELF . El valor numérico correspondiente es 0. Este valor indica que el ejecutable no usa ninguna extensión específica del sistema operativo. Debian GNU / Linux, al menos, configura GCC / binutils para generar ejecutables con este campo establecido en 0 de forma predeterminada.
fuente