Documentation Home
> リンカーとライブラリ
リンカーとライブラリ
Book Information
索引
数字・記号
A
C
D
E
G
L
M
N
P
R
S
T
U
あ
い
う
え
お
か
き
け
こ
さ
し
す
せ
た
ち
て
と
な
に
は
ひ
ふ
へ
ほ
み
め
よ
ら
り
ろ
わ
はじめに
第 1 章 Solaris リンカーの紹介
リンク編集
実行時リンク
関連情報
動的リンク
アプリケーションバイナリインタフェース
32 ビットおよび 64 ビット環境
環境変数
サポートするツール
第 2 章 リンカー
リンカーの起動
直接起動
コンパイラドライバを使用する
リンカーオプションの指定
入力ファイルの処理
アーカイブ処理
共有オブジェクトの処理
追加ライブラリとのリンク
ライブラリの命名規約
共有オブジェクトとアーカイブとの混合体へのリンク
コマンド行上のアーカイブの位置
リンカーが検索するディレクトリ
コマンド行オプションの使用
環境変数の使用
実行時リンカーが検索するディレクトリ
初期設定および終了セクション
シンボルの処理
シンボル解決
単純な解決
複雑な解決
重大な解決
未定義シンボル
実行可能ファイルの作成
共有オブジェクト出力ファイルの生成
ウィークシンボル
出力ファイル内の一時的シンボル順序
追加シンボルの定義
シンボル範囲の縮小
シンボル削除
外部結合
文字列テーブルの圧縮
出力ファイルの生成
再配置処理
ディスプレイスメント再配置
デバッギングエイド
第 3 章 実行時リンカー
共有オブジェクトの依存性
共有オブジェクトの依存関係の検索
実行時リンカーが検索するディレクトリ
デフォルトの検索パスの設定
動的ストリングトークン
再配置処理
シンボルの検索
デフォルトの検索
割り込み (interposition)
直接結合
再配置が実行されるとき
再配置エラー
追加オブジェクトの読み込み
動的依存関係の遅延読み込み
初期設定および終了ルーチン
初期設定と終了の順序
セキュリティ
実行時リンクのプログラミングインタフェース
追加オブジェクトの読み込み
再配置処理
シンボル検索
デフォルトのシンボル検索モデル
大域オブジェクトの定義
グループの分離
オブジェクト階層
新しいシンボルの入手
機能のテスト
割り込み (interposition) の使用
機能チェック
デバッギングエイド
デバッギングライブラリ
デバッガモジュール
第 4 章 共有オブジェクト
命名規約
共有オブジェクト名の記録
アーカイブへの共有オブジェクトの取り込み
記録名の衝突
依存関係を持つ共有オブジェクト
依存関係の順序
フィルタとしての共有オブジェクト
標準フィルタの生成
補助フィルタの生成
「フィルティー」の処理
性能に関する考慮事項
ファイルの解析
基本システム
動的依存関係の遅延読み込み
位置に依存しないコード
SPARC: -K pic と -K PIC オプション
使用されない対象物の削除
共有可能性の最大化
テキストへの読み取り専用データの移動
多重定義されたデータの短縮
自動変数の使用
バッファーの動的割り当て
ページング回数の削減
再配置
シンボル検索
再配置を実行する場合
再配置セクションの結合
コピー再配置
-B symbolic の使用
共有オブジェクトのプロファイリング
第 5 章 アプリケーションバイナリインタフェースとバージョン管理
インタフェースの互換性
内部バージョン管理
バージョン定義の作成
ウィークバージョン定義の作成
関連のないインタフェースの定義
バージョン定義への結合
追加オブジェクトのバージョンの検査
バージョン結合の指定
追加バージョン定義への結合
バージョンの安定性
再配置可能オブジェクト
外部バージョン管理
バージョン管理ファイル名の管理
第 6 章 サポートインタフェース
リンカーのサポートインタフェース
サポートインタフェースの呼び出し
32 ビットおよび 64 ビット環境
サポートインタフェース関数
サポートインタフェースの例
実行時リンカーの監査インタフェース
名前空間の確立
監査ライブラリの作成
監査インタフェースの呼び出し
ローカル監査の記録
監査インタフェースの関数
監査インタフェースの例
監査インタフェースのデモンストレーション
監査インタフェースの制限
スタックを直接検査する関数
実行時リンカーのデバッガインタフェース
制御プロセスとターゲットプロセス間の対話
デバッガインタフェースのエージェント
デバッガエクスポートインタフェース
エージェント操作インタフェース
エラー処理
読み込み可能オブジェクトの走査
イベント通知
プロシージャのリンクテーブルのスキップ
動的オブジェクトのパッド
デバッガインポートインタフェース
第 7 章 オブジェクトファイル形式
ファイル形式
データ表現
ELF ヘッダー
ELF 識別
データの符号化
セクション
特殊セクション
「COMDAT」セクション
グループセクション
ハッシュテーブルセクション
移動セクション
注釈セクション
再配置セクション
再配置型 (プロセッサ固有)
SPARC: 再配置型
64-bit SPARC: 再配置型
x86: 再配置型
文字列テーブルセクション
シンボルテーブルセクション
シンボル値
レジスタシンボル
Syminfo テーブルセクション
バージョン管理セクション
バージョン定義セクション
バージョンシンボルセクション
バージョン依存セクション
動的リンク
プログラムヘッダー
ベースアドレス
セグメントへのアクセス権
セグメントの内容
プログラムの読み込み (プロセッサ固有)
プログラムインタプリタ
実行時リンカー
動的セクション
大域オフセットテーブル (プロセッサ固有)
プロシージャのリンクテーブル (プロセッサ固有)
SPARC: 32 ビットプロシージャのリンクテーブル
SPARC: 64 ビットプロシージャのリンクテーブル
x86: 32 ビットプロシージャのリンクテーブル
第 8 章 スレッド固有領域 (TLS)
C/C++ プログラミングインタフェース
スレッド固有領域 (TLS) セクション
スレッド固有領域の実行時の割り当て
プログラムの起動
スレッドの作成
起動後の動的読み込み
スレッド固有領域ブロックの遅延割り当て
スレッド固有領域のアクセスモデル
SPARC: スレッド固有変数へのアクセス
SPARC: 32 ビットおよび 64 ビットの General Dynamic (GD)
SPARC: 32 ビットおよび 64 ビットの Local Dynamic (LD)
SPARC: 32 ビットの Initial Executable (IE)
SPARC: 64 ビットの Initial Executable (IE)
SPARC: 32 ビットおよび 64 ビットの Local Executable (LE)
SPARC: スレッド固有領域の再配置のタイプ
x86: スレッド固有変数へのアクセス
x86: General Dynamic (GD)
x86: Local Dynamic (LD)
x86: Initial Executable (IE)
x86: Local Executable (LE)
x86: スレッド固有領域の再配置のタイプ
第 9 章 mapfile のオプション
mapfile の構造と構文
セグメントの宣言
対応付け指示
セグメント内セクションの順序
サイズシンボル宣言
ファイル制御指示
対応付けの例
mapfile オプションの初期値
内部対応付け構造
付録 A リンカーのクイックリファレンス
静的方法
再配置可能オブジェクトの作成
静的実行プログラムの作成
動的方法
共有オブジェクトの作成
動的実行プログラムの作成
付録 B バージョン管理の手引き
命名規約
共有オブジェクトのインタフェースの定義
共有オブジェクトのバージョンアップ
既存の (バージョンアップされていない) 共有オブジェクトのバージョンアップ
バージョンアップ共有オブジェクトの更新
新しいシンボルの追加
内部実装の変更
新しいシンボルと内部実装の変更
標準インタフェースへのシンボルの併合
付録 C 動的ストリングトークンによる依存関係の確立
命令セット固有の共有オブジェクト
「フィルティー」検索の縮小
システム固有の共有オブジェクト
関連する依存関係の配置
バンドルされていない製品間の依存関係
セキュリティ
付録 D リンカーとライブラリの新機能および更新された機能
Solaris 9 4/04 リリース
Solaris 9 12/03 リリース
Solaris 9 8/03 リリース
Solaris 9 12/02 リリース
Solaris 9 リリース
Solaris 8 07/01 リリース
Solaris 8 01/01 リリース
Solaris 8 10/00 リリース
Solaris 8 リリース
Solaris 7 リリース
Solaris 2.6 リリース
© 2010, Oracle Corporation and/or its affiliates