readelfがLinuxの代わりに私のオペレーティングシステムとして「System V」を表示するのはなぜですか?

readelfがLinuxの代わりに私のオペレーティングシステムとして「System V」を表示するのはなぜですか?

私はELFファイル形式を理解するためにgccで小さなCプログラム(2行のコード)をコンパイルしました。readelf -hターゲットファイルで作業すると、ヘッダーに次のものがあります。

OS/ABI:                            UNIX - System V 

私はFedoraを使用していますが、Linuxを使用しないのはなぜですか?

編集する:私はまとめました。

int main(){
  int x = 0;
  x++;
}

そしてgcc -o main.o -c main.c。私のgccバージョンは

gcc (GCC) 4.5.1 20100924 (Red Hat 4.5.1-4) 

ベストアンサー1

さまざまなプラットフォームのELF実行可能ファイルにはいくつかの違いがあります。 「UNIX - System V」は共通分母です。システムVどこ?非常に低い周波数形式は次のとおりです。その値は0です。この値は、実行可能ファイルがオペレーティングシステム固有の拡張子を使用しないことを示します。 Debian GNU/Linux は実行可能ファイルを生成するために少なくとも GCC/binutils を設定し、このフィールドはデフォルトで 0 に設定されます。

おすすめ記事