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