Ho compilato un piccolo programma C (2 righe di codici) con gcc per cercare di capire il formato del file ELF. Facendo readelf -h
sul file oggetto, ho nell'intestazione:
OS/ABI: UNIX - System V
Sto usando Fedora, quindi perché non è Linux?
Modifica : ho compilato
int main(){
int x = 0;
x++;
}
con gcc -o main.o -c main.c
. La mia versione di gcc è
gcc (GCC) 4.5.1 20100924 (Red Hat 4.5.1-4)
readelf -h /bin/ls
su debian gnu / linux. Ha anche mostrato OS/ABI: UNIX - System V
. La mia ipotesi è che l'ABI sia usato su più di un kernel, non solo su Linux. So anche che Linux supporta più di un ABI.
gcc --version
e iii) il comando esatto che hai usato per compilarlo.