Linux用の公式ELF形式リファレンスは何ですか?
一部はジニー1.21995年に登場した仕様では廃止されました(DT_RUNPATH
例は含まれていません)。
ところが他にはただ一つあるようだ。ドラフトバージョンSystem Vアプリケーションバイナリインタフェース2003年から。ドラフト以外のバージョンが見つからないようです。
それからOracle Solarisのバージョン、対応するドラフトに基づいているようです。
2003 ドラフトと Solaris バージョンは、DT_RPATH
共有ライブラリが比較テーブルを無視するかどうかについて同意しないようです。2003年ドラフトそしてソラリス。 2003年の草案によると無視されるべきであり、Solarisによると無視してはいけません。
私のUbuntu 16システムでは、ランタイムリンカーは次のようになります。いいえ共有ライブラリは無視されるため、DT_RPATH
2003 ドラフトではなく Solaris 仕様に準拠しているようです。
Linuxの公式ELF仕様は何ですか?
編集:LSB 5.0.0ベース:
LSB準拠の実装は、System V ABIおよびSystem V ABIアップデートで指定されたランタイム・プログラムを生成するオブジェクト・ファイル情報およびシステム操作、およびこの仕様およびLSBコア仕様の関連アーキテクチャー固有の部分の追加要件もサポートする必要があります。 。
共有ライブラリで DT_RPATH を処理する方法を記載した LSB 文書は表示されません。これはld
、共有ライブラリでRPATHを無視する必要があるため、LSBと互換性がないという意味ですか?