Saya menyusun program C kecil (2 baris kode) dengan gcc untuk mencoba memahami format file ELF. Melakukan readelf -hpada file objek, saya miliki di header:
OS/ABI: UNIX - System V
Saya menggunakan Fedora, jadi mengapa bukan Linux?
Sunting : Saya kompilasi
int main(){
int x = 0;
x++;
}
dengan gcc -o main.o -c main.c. Versi gcc saya adalah
gcc (GCC) 4.5.1 20100924 (Red Hat 4.5.1-4)
Saya telah mengedit pertanyaan sesuai.
—
alex_reader
Saya baru saja melakukannya
—
ctrl-alt-delor
readelf -h /bin/lsdi debian gnu / linux. Itu juga menunjukkan OS/ABI: UNIX - System V. Dugaan saya adalah ABI digunakan pada lebih dari satu kernel, bukan hanya linux. Saya juga tahu bahwa linux mendukung lebih dari satu ABI.
Wikipedia mengatakan Ini [bidang OSABI di header ELF] sering diatur ke 0 [SysV] terlepas dari platform target
—
Stéphane Chazelas
Bidang ini memberi tahu jika file ELF menggunakan ekstensi spesifik OS apa pun, defaultnya adalah 0. Lebih banyak deskripsi terperinci di sini (di EI_OSABI).
—
Leiaz
gcc --versiondan iii) perintah persis yang Anda gunakan untuk mengompilasinya.