so_needed ディレクティブ
このセクションの内容:
構文
so_needed { objectname };パラメータ
| この共有オブジェクトが依存する共有オブジェクトの名前。 |
説明
このディレクティブを使用して、共有オブジェクトの依存関係を設定します(現在の共有オブジェクトと呼びます)。
現在の共有オブジェクトの .dynstr セクションには、別の共有オブジェクトの名前があり、現在の共有オブジェクトの .dynamic セクションには、値がほかの共有オブジェクトの名前のインデックス(.dynstr 内)の DT_SONAMEキーがあります。
依存関係情報は動的リンカによって使用され、共有オブジェクトが必要なものすべてにアクセスできる環境で動作するようにします。
例
so_needed { otherLibrary.so };これは、生成された共有オブジェクトが共有オブジェクトotherLibrary.soを必要とするように依存関係を設定します。共有オブジェクトのロード時にotherLibrary.soが使用できない場合に何が起こるかは、動的リンカによって異なります。