a.out
読み:エイ-アウト
外語:a.out
最も古くから存在する「由緒正しい」UNIXの実行ファイルのフォーマット。
概要
a.outは歴史あるフォーマットであるが、やがてELFに取って代わられた。
このa.outには、大きく二種類がある。
非常に古いリンカはZMAGICのみ、少し古いものは両方に、比較的新しいものはQMAGICのみに対応している。そして最新のものでは両方とも対応していない。
カーネルはどちらのa.outであっても実行可能なので、利用者はそれほど気にする必要はない。
差は、新しいQMAGICではNULLポインターへの不正なアクセスが検出しやすくなっていることである。
特徴
対するELFはAT&T System V UNIXで登場し、徐々に移行が開始される。
FreeBSDもバージョン2.xまでは伝統的な「a.out」を採用していた。しかし同様にPC UNIXであるLinuxがELFを採用する仕様変更を実施したことに伴い、GCCがELFを採用してa.outの対応を中止した。このため仕方なくFreeBSDも3.xからELFのサポートを開始することになる。
また、他のUNIXやBSDも同様である。
NetBSDは、NetBSD-1.4/i386はa.outだったが、NetBSD 1.4.1からELFとなったようだ。
OpenBSDは、OpenBSD 1.2からELFの対応が開始され、OpenBSD 3.4から完全にELFに移行したようだ。
再検索