バイナリ互換性ガイド

オブジェクトファイルと core ファイルの形式

SunOS 4.x リリースは、a.out オブジェクトファイル形式を使用します。Solaris 8 リリースは、新しい拡張可能リンク形式 (ELF) を使用します。Solaris 8 プログラミングツール (ccldar など) は ELF ファイルを生成します。また、デフォルトの exec() ファイル形式は ELF です。

Solaris 8 の exec() システムコールは、実行ファイルの形式 (a.out または ELF) を識別し、それぞれに応じた正しいロード手順を使用します。

デフォルトの core ファイル形式は、SunOS 4.x では a.out であり、Solaris 8 リリースでは ELF です。Solaris 8 で バイナリ互換パッケージを使って a.out ファイルを実行した場合、core ファイルは a.out 形式で生成されます。互換性メカニズムが起動されるのは、a.out バイナリ形式のファイルをロードし実行した場合だけです。

a.out 実行ファイル形式、core 形式を想定して動作する SunOS 4.x プログラムは、他の形式のファイルに対しては働きません。たとえば、a.out 形式のファイルを対象とした SunOS 4.x の nm(1) コマンドなどは、ELF 形式に対しては働きません。

Solaris 8 リリースのプログラミングツールおよびユーティリティは、a.out 形式のバイナリおよび core ファイルに対しては、意図したとおりの働きをしません。