Oracle® Solaris 11.2 リンカーとライブラリガイド

印刷ビューの終了

更新: 2014 年 7 月
 
 

実行時リンカーの監査インタフェース

rtld-監査インタフェースを使用すると、プロセスの実行時リンクに関する情報にアクセスできます。「rtld-監査」インタフェースは、1 つまたは複数の監査インタフェースルーチンを提供する監査ライブラリとして実装されます。このライブラリがプロセスの一部として読み込まれている場合は、プロセス実行の各段階で、実行時リンカーによって監査ルーチンが呼び出されます。監査ライブラリはこれらのインタフェースを使って、次の情報にアクセスできます。

  • 依存関係の検索。検索パスは監査ライブラリによって置き換えることができます。

  • 読み込まれているオブジェクトに関する情報。

  • 読み込まれているこれらのオブジェクト間で発生するシンボル結合。これらの結合は、監査ライブラリによって変更できます。

  • プロシージャーのリンクテーブルエントリによって提供される遅延結合メカニズム。関数呼び出しとその戻り値を監査できます。プロシージャーのリンクテーブル (プロセッサ固有)を参照してください。関数の引数とその戻り値は、監査ライブラリによって変更できます。

この情報のいくつかは、特殊な共有オブジェクトを事前に読み込むことによって取得できます。しかし、事前に読み込まれたオブジェクトは、アプリケーションのオブジェクトと同じ名前空間内に存在します。このため、通常、事前に読み込まれた共有オブジェクトの実装は制限されるか、複雑になります。rtld-監査インタフェースは、ユーザーに監査ライブラリを実行するための固有の名前空間を提供します。この名前空間により、監査ライブラリがアプリケーション内で発生する通常の結合を妨害することはなくなります。

rtld-監査インタフェースの使用例として、共有オブジェクトのプロファイリングで説明した共有オブジェクトの実行時プロファイリングがあります。