JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
リンカーとライブラリ     Oracle Solaris 10 8/11 Information Library (日本語)
search filter icon
search icon

ドキュメントの情報

はじめに

1.  Oracle Solaris リンカーの紹介

2.  リンカー

3.  実行時リンカー

共有オブジェクトの依存性

共有オブジェクトの依存関係の検索

実行時リンカーが検索するディレクトリ

デフォルトの検索パスの設定

動的ストリングトークン

再配置処理

再配置シンボルの検索

デフォルトのシンボル検索

実行時割り込み

再配置が実行されるとき

再配置エラー

追加オブジェクトの読み込み

動的依存関係の遅延読み込み

dlopen() の代替手段の提供

初期設定および終了ルーチン

初期設定と終了の順序

セキュリティー

実行時リンクのプログラミングインタフェース

追加オブジェクトの読み込み

再配置処理

シンボルの検索

デフォルトのシンボル検索モデル

大域オブジェクトの定義

グループの分離

オブジェクト階層

新しいシンボルの入手

機能のテスト

割り込みの使用

デバッグ支援

機能のデバッグ

デバッガモジュール

4.  共有オブジェクト

5.  アプリケーションバイナリインタフェースとバージョン管理

6.  サポートインタフェース

7.  オブジェクトファイル形式

8.  スレッド固有領域 (TLS)

9.  mapfile

A.  リンカーのクイックリファレンス

B.  バージョン管理の手引き

C.  動的ストリングトークンによる依存関係の確立

D.  直接結合

E.  System V Release 4 (バージョン 1) Mapfile

F.  リンカーとライブラリのアップデートおよび新機能

索引

第 3 章

実行時リンカー

「動的実行可能プログラム」を初期化および実行するとき、アプリケーションとその依存関係を結合させるために、「インタプリタ」が呼び出されます。Oracle Solaris OS では、このインタプリタを実行時リンカーと呼びます。

動的実行可能プログラムのリンク編集中に、特殊な .interp セクションとそれに関連するプログラムヘッダーが作成されます。このセクションには、プログラムのインタプリタを指定するパス名が組み込まれています。リンカーによって提供されるデフォルトの名前は 実行時リンカーの名前で、32 ビットの実行プログラムの場合は /usr/lib/ld.so.1、 64 ビットの実行プログラムの場合は /usr/lib/64/ld.so.1 となります。


注 - ld.so.1 は、共有オブジェクトの特殊なケースです。ここではバージョン番号 1 が使われています。しかし、Oracle Solaris OS の今後のリリースによってバージョンアップされる可能性があります。


動的オブジェクトの実行プロセス中に、カーネルはファイルを読み込んで、プログラムのヘッダー情報を読み取ります。「プログラムヘッダー」を参照してください。この情報を使って、カーネルは必要なインタプリタの名前を検出します。カーネルは、このインタプリンタを読み込んで制御を移し、インタプリタがアプリケーションの実行を続行するために十分な量の情報を転送します。

アプリケーションの初期化に加え、実行時リンカーは、アプリケーションが自分のアドレス空間を拡張できるようにするサービスも提供します。この処理には、追加のオブジェクトの読み込みとこれらのオブジェクトが提供するシンボルへの結合が含まれます。

実行時リンカーは次の処理を実行します。