ELF dosya biçimini anlamaya çalışmak için gcc ile küçük bir C programı (2 satır kod) derledim. Bir yaparak readelf -h
nesne dosya üzerinde, ben başlığında var:
OS/ABI: UNIX - System V
Fedora kullanıyorum, neden Linux değil?
Düzenleme : Derledim
int main(){
int x = 0;
x++;
}
ile gcc -o main.o -c main.c
. Gcc versiyonum
gcc (GCC) 4.5.1 20100924 (Red Hat 4.5.1-4)
Soruyu buna göre düzenledim.
—
alex_reader
Ben
—
ctrl-alt-delor
readelf -h /bin/ls
debian gnu / linux üzerinde yaptım . Ayrıca gösterdi OS/ABI: UNIX - System V
. Tahminimce ABI sadece linux üzerinde değil, birden fazla çekirdekte kullanılıyor. Ayrıca linux'un birden fazla ABI'yi desteklediğini de biliyorum.
Vikipedi diyor O [ELF başlığındaki OSABI alanı] sıklıkla ayarlandığında 0 [SysV] bakılmaksızın hedef platformun
—
Stéphane Chazelas
Bu alan, ELF dosyasının işletim sistemine özel uzantılar kullanıp kullanmadığını gösterir, varsayılan değer 0'dır. Burada daha ayrıntılı açıklama (EI_OSABI'da).
—
Leiaz
gcc --version
ve iii) derlemek için kullandığınız komutun aynısını gösterin .