oracle home
Oracle
®
Solaris 11.2 リンカーとライブラリガイド
印刷ビューの終了
Search Term
検索範囲:
このドキュメント
ライブラリ全体
» ...
索引 せ
更新: 2014 年 7 月
Oracle
®
Solaris 11.2 リンカーとライブラリガイド
ドキュメント情報
このドキュメントの使用法
製品ドキュメントライブラリ
Oracle サポートへのアクセス
フィードバック
パート I リンカーおよび実行時リンカーの使用
第 1 章 Oracle Solaris リンカーの紹介
リンク編集
静的実行可能ファイル
実行時リンク
関連情報
動的リンク
アプリケーションバイナリインタフェース
32 ビットおよび 64 ビット環境
環境変数
サポートするツール
第 2 章 リンカー
リンカーの起動
直接起動
コンパイラドライバを使用する
クロスリンク編集
リンカーオプションの指定
入力ファイルの処理
アーカイブ処理
共有オブジェクトの処理
追加ライブラリとのリンク
ライブラリの命名規約
共有オブジェクトとアーカイブとの混合体へのリンク
コマンド行上のアーカイブの位置
リンカーが検索するディレクトリ
コマンド行オプションの使用
環境変数の使用
実行時リンカーが検索するディレクトリ
初期設定および終了セクション
シンボルの処理
シンボルの可視性
シンボル解決
単純な解決
複雑な解決
重大な解決
未定義シンボル
実行可能ファイルの作成
共有オブジェクト出力ファイルの生成
ウィークシンボル
出力ファイル内の一時的シンボル順序
追加シンボルの定義
-u オプションを使用した追加シンボルの定義
シンボル参照の定義
絶対シンボルの定義
一時的シンボルの定義
シンボル定義の増強
シンボル範囲の縮小
シンボル削除
外部結合
文字列テーブルの圧縮
出力ファイルの生成
機能要件の特定
プラットフォーム機能の特定
マシン機能の指定
ハードウェア機能の特定
ソフトウェア機能の特定
ソフトウェア機能フレームポインタの処理
ソフトウェア機能アドレス空間制限処理
シンボル機能関数ファミリの作成
シンボル機能データ項目のファミリの作成
オブジェクト機能のシンボル機能への変換
アーカイブに関する考慮事項
機能ファミリの実行
再配置処理
ディスプレイスメント再配置
スタブオブジェクト
スタブオブジェクトを使用した、廃止インタフェースの非表示
補助オブジェクト
デバッガによる補助オブジェクトのアクセスと使用
圧縮デバッグセクション
圧縮のコストと利点
親オブジェクト
デバッグ支援
第 3 章 実行時リンカー
共有オブジェクトの依存関係
共有オブジェクトの依存関係の検索
実行時リンカーが検索するディレクトリ
デフォルトの検索パスの構成
動的ストリングトークン
再配置処理
再配置シンボルの検索
デフォルトのシンボル検索
実行時割り込み
再配置が実行されるとき
再配置エラー
追加オブジェクトのロード
動的依存関係の遅延読み込み
dlopen の代替手段の提供
初期設定および終了ルーチン
初期設定および終了コードの制限と危険性
初期設定と終了の順序
セキュリティー
実行時リンクのプログラミングインタフェース
追加オブジェクトのロード
再配置処理
シンボルの検索
デフォルトのシンボル検索モデル
大域オブジェクトの定義
グループの分離
オブジェクト階層
新しいシンボルの入手
機能のテスト
割り込みの使用
デバッグ支援
機能のデバッグ
デバッガモジュール
第 4 章 共有オブジェクト
命名規約
共有オブジェクト名の記録
アーカイブへの共有オブジェクトの取り込み
記録名の競合
依存関係を持つ共有オブジェクト
依存関係の順序
フィルタとしての共有オブジェクト
標準フィルタの生成
補助フィルタの生成
フィルタ処理の組み合わせ
フィルティーの処理
パート II クイックリファレンス
第 5 章 リンカーのクイックリファレンス
静的方法
再配置可能オブジェクトの作成
静的実行プログラムの作成
動的方法
共有オブジェクトの作成
動的実行可能プログラムの作成
パート III 詳細情報
第 6 章 直接結合
シンボル結合の確認
直接結合の有効化
B direct オプションの使用方法
z direct オプションの使用方法
DIRECT mapfile キーワードの使用方法
直接結合と割り込み
シンボルインスタンスのローカライズ
同じ名前の多重定義シンボルの削除
明示的な割り込みの定義
シンボルの直接結合の回避
B nodirect オプションの使用方法
NODIRECT mapfile キーワードの使用方法
第 7 章 システムのパフォーマンスを最適化するオブジェクトの構築
elfdump を使用したファイルの解析
基本システム
動的依存関係の遅延読み込み
位置独立のコード
K pic と K PIC オプション
使用されない対象物の削除
未使用セクションの削除
未使用ファイルの削除
未使用の依存関係の削除
共有可能性の最大化
テキストへの読み取り専用データの移動
多重定義されたデータの短縮
自動変数の使用
バッファーの動的割り当て
ページング回数の削減
再配置
シンボルの検索
再配置が実行されるとき
再配置セクションの結合
コピー再配置
B symbolic オプションの使用
共有オブジェクトのプロファイリング
第 8 章 mapfile
mapfile の構造と構文
mapfile のバージョン
条件付き入力
指令の構文
mapfile 指令
CAPABILITY 指令
HW 属性
HW_1/HW_2 属性
MACHINE 属性
PLATFORM 属性
SF 属性
SF_1 属性
DEPEND_VERSIONS 指令
ALLOW 属性
REQUIRE 属性
HDR_NOALLOC 指令
PHDR_ADD_NULL 指令
LOAD_SEGMENT/NOTE_SEGMENT/NULL_SEGMENT 指令
ALIGN 属性 (LOAD_SEGMENT のみ)
ASSIGN_SECTION 属性
DISABLE 属性
FLAGS 属性 (LOAD_SEGMENT のみ)
IS_ORDER 属性
MAX_SIZE 属性 (LOAD_SEGMENT のみ)
NOHDR 属性 (LOAD_SEGMENT のみ)
OS_ORDER 属性
PADDR 属性 (LOAD_SEGMENT のみ)
ROUND 属性 (LOAD_SEGMENT のみ)
SIZE_SYMBOL 属性 (LOAD_SEGMENT のみ)
VADDR (LOAD_SEGMENT のみ)
SEGMENT_ORDER 指令
STACK 指令
STUB_OBJECT 指令
SYMBOL_SCOPE/SYMBOL_VERSION 指令
ASSERT 属性
AUXILIARY 属性
FILTER 属性
FLAGS 属性
SIZE 属性
TYPE 属性
VALUE 属性
定義済みセグメント
マッピングの例
例: セクションからセグメントへの割り当て
例: 定義済みセクションの変更
リンカー内部情報: セクションおよびセグメント処理
セクションからセグメントへの割り当て
定義済みセグメントとエントランス基準のための mapfile 指令
第 9 章 インタフェースおよびバージョン管理
インタフェースの互換性
内部バージョン管理
バージョン定義の作成
ウィークバージョン定義の作成
関連のないインタフェースの定義
バージョン定義への結合
追加オブジェクトのバージョンの検査
バージョン結合の指定
追加バージョン定義への結合
インタフェースの再定義
ウィークバージョンの結合
バージョンの安定性
再配置可能オブジェクト
外部バージョン管理
バージョン管理ファイル名の管理
同じプロセス内の複数の外部バージョン管理ファイル
第 10 章 動的ストリングトークンによる依存関係の確立
機能固有の共有オブジェクト
「フィルティー」検索の縮小
命令セット固有の共有オブジェクト
「フィルティー」検索の縮小
システム固有の共有オブジェクト
関連する依存関係の配置
バンドルされていない製品間の依存関係
セキュリティー
第 11 章 拡張性メカニズム
リンカーのサポートインタフェース
サポートインタフェースの呼び出し
32 ビットおよび 64 ビット環境
サポートインタフェース関数
サポートインタフェースの例
実行時リンカーの監査インタフェース
名前空間の確立
監査ライブラリの作成
監査インタフェースの呼び出し
ローカル監査の記録
大域監査の記録
監査インタフェースの対話
監査インタフェースの関数
監査インタフェース制御フロー
監査インタフェースの例
監査インタフェースのデモンストレーション
監査インタフェースの制限
アプリケーションコードの実行
la_pltexit の使用
スタックを直接検査する関数
実行時リンカーのデバッガインタフェース
制御プロセスとターゲットプロセス間の対話
デバッガインタフェースのエージェント
デバッガエクスポートインタフェース
エージェント操作インタフェース
エラー処理
読み込み可能オブジェクトの走査
イベント通知
プロシージャーのリンクテーブルのスキップ
動的オブジェクトのパッド
デバッガインポートインタフェース
パート IV ELF アプリケーションバイナリインタフェース
第 12 章 オブジェクトファイル形式
ファイル形式
データ表現
ELF ヘッダー
ELF 識別
データのエンコード
セクション
セクションのマージ
セクションの圧縮
GNU 形式のセクション圧縮
特殊セクション
補助セクション
COMDAT セクション
グループセクション
機能セクション
ハッシュテーブルセクション
移動セクション
注釈セクション
再配置セクション
再配置計算
SPARC: 再配置
SPARC: 再配置型
64-bit SPARC: 再配置型
x86: 再配置
32-bit x86: 再配置型
x64: 再配置型
文字列テーブルセクション
シンボルテーブルセクション
シンボル値
シンボルテーブルのレイアウトと規則
シンボルソートセクション
レジスタシンボル
Syminfo テーブルセクション
バージョン管理セクション
バージョン定義セクション
バージョン依存関係セクション
バージョンシンボルセクション
第 13 章 プログラムの読み込みと動的リンク
プログラムヘッダー
ベースアドレス
セグメントへのアクセス権
セグメントの内容
プログラムのロード (プロセッサ固有)
プログラムインタプリタ
実行時リンカー
動的セクション
大域オフセットテーブル (プロセッサ固有)
プロシージャーのリンクテーブル (プロセッサ固有)
32-bit SPARC: プロシージャーのリンクテーブル
64-bit SPARC: プロシージャーのリンクテーブル
32-bit x86: プロシージャーのリンクテーブル
x64: プロシージャーのリンクテーブル
第 14 章 スレッド固有ストレージ (TLS)
C/C++ プログラミングインタフェース
スレッド固有ストレージ (TLS) セクション
スレッド固有ストレージの実行時の割り当て
プログラムの起動
スレッドの作成
起動後の動的ロード
スレッド固有ストレージブロックの遅延割り当て
スレッド固有ストレージのアクセスモデル
SPARC: スレッド固有変数へのアクセス
SPARC: General Dynamic (GD)
SPARC: Local Dynamic (LD)
32-bit SPARC: Initial Executable (IE)
64-bit SPARC: Initial Executable (IE)
SPARC: Local Executable (LE)
SPARC: スレッド固有ストレージの再配置のタイプ
32-bit x86: スレッド固有変数へのアクセス
32-bit x86: General Dynamic (GD)
x86: Local Dynamic (LD)
32-bit x86: Initial Executable (IE)
32-bit x86: Local Executable (LE)
32-bit x86: スレッド固有ストレージの再配置のタイプ
x64: スレッド固有変数へのアクセス
x64: General Dynamic (GD)
x64: Local Dynamic (LD)
x64: Initial Executable (IE)
x64: Local Executable (LE)
x64: スレッド固有ストレージの再配置のタイプ
パート V 付録
付録 A リンカーとライブラリのアップデートおよび新機能
Oracle Solaris 11.2 リリース
Oracle Solaris 11.1 リリース
Oracle Solaris 11
Oracle Solaris 10 1/13 リリース
Oracle Solaris 10 8/11 リリース
廃止機能
Solaris 10 5/08 リリース
Solaris 10 8/07 リリース
Solaris 10 1/06 リリース
Solaris 10 リリース
付録 B System V Release 4 (バージョン 1) Mapfile
mapfile の構造と構文
セグメントの宣言
対応付け指令
セグメント内セクションの順序
サイズシンボル宣言
ファイル制御指令
対応付けの例
mapfile オプションのデフォルト
内部対応付け構造
索引
索引 数字と記号
索引 A
索引 C
索引 D
索引 E
索引 G
索引 L
索引 M
索引 N
索引 O
索引 P
索引 R
索引 S
索引 T
索引 あ
索引 い
索引 う
索引 え
索引 お
索引 か
索引 き
索引 く
索引 け
索引 こ
索引 さ
索引 し
索引 す
索引 せ
索引 た
索引 ち
索引 て
索引 と
索引 な
索引 に
索引 は
索引 ひ
索引 ふ
索引 へ
索引 ほ
索引 み
索引 め
索引 ら
索引 り
索引 わ
言語:
日本語
せ
セキュリティー
セキュリティー
セキュリティー
セクション
elfdump を使用したファイルの解析
関連項目
「セクションフラグ」、「セクション名」、「セクション番号」、および「セクションタイプ」
リンカー
セクションタイプ
SHT_DYNAMIC
実行時リンカー
ELF セクションタイプ、sh_type
SHT_DYNSTR
ELF セクションタイプ、sh_type
SHT_DYNSYM
ELF セクションタイプ、sh_type
SHT_FINI_ARRAY
ELF セクションタイプ、sh_type
SHT_GROUP
ELF グループセクションのフラグ
グループセクション
ELF セクションの属性フラグ
ELF セクションタイプ、sh_type
SHT_HASH
実行時リンカー
ハッシュテーブルセクション
ELF セクションタイプ、sh_type
SHT_HIOS
ELF セクションタイプ、sh_type
SHT_HIPROC
ELF セクションタイプ、sh_type
SHT_HISUNW
ELF セクションタイプ、sh_type
SHT_HIUSER
ELF セクションタイプ、sh_type
SHT_INIT_ARRAY
ELF セクションタイプ、sh_type
SHT_LOOS
ELF セクションタイプ、sh_type
SHT_LOPROC
ELF セクションタイプ、sh_type
SHT_LOSUNW
ELF セクションタイプ、sh_type
SHT_LOUSER
ELF セクションタイプ、sh_type
SHT_NOBITS
ELF セクションタイプ、sh_type
.bss
ELF 特殊セクション
.lbss
ELF 特殊セクション
.SUNW_bss
ELF 特殊セクション
.tbss
ELF 特殊セクション
p_memsz 計算
セグメントの内容
sh_offset
ELF セクションの特殊インデックス
sh_size
ELF セクションの特殊インデックス
SHT_NOTE
注釈セクション
ELF セクションタイプ、sh_type
SHT_NULL
ELF セクションタイプ、sh_type
SHT_PREINIT_ARRAY
ELF セクションタイプ、sh_type
SHT_PROGBITS
実行時リンカー
ELF セクションタイプ、sh_type
SHT_REL
ELF セクションタイプ、sh_type
SHT_RELA
ELF セクションタイプ、sh_type
SHT_SHLIB
ELF セクションタイプ、sh_type
SHT_SPARC_GOTDATA
ELF セクションタイプ、sh_type
ELF セクションタイプ、sh_type
SHT_STRTAB
ELF セクションタイプ、sh_type
SHT_SUNW_ANNOTATE
ELF セクションタイプ、sh_type
圧縮デバッグセクション
圧縮デバッグセクション
SHT_SUNW_cap
ELF セクションタイプ、sh_type
SHT_SUNW_COMDAT
COMDAT セクション
ELF セクションタイプ、sh_type
サポートインタフェース関数
SHT_SUNW_DEBUG
ELF セクションタイプ、sh_type
SHT_SUNW_DEBUGSTR
ELF セクションタイプ、sh_type
SHT_SUNW_dof
ELF セクションタイプ、sh_type
SHT_SUNW_LDYNSYM
ELF セクションタイプ、sh_type
ELF セクションタイプ、sh_type
SHT_SUNW_move
移動セクション
ELF セクションタイプ、sh_type
SHT_SUNW_SIGNATURE
ELF セクションタイプ、sh_type
SHT_SUNW_syminfo
ELF セクションタイプ、sh_type
SHT_SUNW_symsort
ELF セクションタイプ、sh_type
SHT_SUNW_tlssort
ELF セクションタイプ、sh_type
SHT_SUNW_verdef
ELF バージョン依存インデックス
バージョン管理セクション
ELF セクションタイプ、sh_type
SHT_SUNW_verneed
バージョン依存関係セクション
バージョン管理セクション
ELF セクションタイプ、sh_type
SHT_SUNW_versym
バージョンシンボルセクション
バージョン定義セクション
バージョン定義セクション
ELF セクションタイプ、sh_type
SHT_SYMTAB
ELF シンボルのタイプ (ELF32_ST_TYPE、ELF64_ST_TYPE)
ELF セクションタイプ、sh_type
SHT_SYMTAB_SHNDX
ELF セクションタイプ、sh_type
セクションフラグ
SHF_ALLOC
ELF 特殊セクション
ELF セクションの属性フラグ
SHF_COMPRESSED
セクションの圧縮
ELF セクションの属性フラグ
圧縮デバッグセクション
SHF_EXCLUDE
ELF セクションの属性フラグ
サポートインタフェース関数
SHF_EXECINSTR
ELF セクションの属性フラグ
SHF_GROUP
ELF グループセクションのフラグ
ELF セクションの属性フラグ
SHF_INFO_LINK
ELF セクションの属性フラグ
SHF_LINK_ORDER
ELF セクションの属性フラグ
ELF セクションの特殊インデックス
SHF_MASKOS
ELF セクションの属性フラグ
SHF_MASKPROC
ELF セクションの属性フラグ
SHF_MERGE
セクションのマージ
ELF セクションの属性フラグ
SHF_ORDERED
ELF セクションの属性フラグ
SHF_OS_NONCONFORMING
ELF セクションの属性フラグ
SHF_STRINGS
セクションのマージ
ELF セクションの属性フラグ
SHF_TLS
スレッド固有ストレージ (TLS) セクション
ELF セクションの属性フラグ
SHF_WRITE
ELF セクションの属性フラグ
セクション名
.bss
コピー再配置
リンカー
.data
テキストへの読み取り専用データの移動
リンカー
.debug
圧縮デバッグセクション
.dynamic
B symbolic オプションの使用
実行時リンカー
出力ファイルの生成
.dynstr
出力ファイルの生成
.dynsym
出力ファイルの生成
.fini
初期設定および終了ルーチン
初期設定および終了セクション
.fini_array
初期設定および終了ルーチン
初期設定および終了セクション
.got
再配置処理
出力ファイルの生成
.init
初期設定および終了ルーチン
初期設定および終了セクション
.init_array
初期設定および終了ルーチン
初期設定および終了セクション
.interp
実行時リンカー
.picdata
テキストへの読み取り専用データの移動
.plt
共有オブジェクトのプロファイリング
再配置が実行されるとき
出力ファイルの生成
.preinit_array
初期設定および終了ルーチン
初期設定および終了セクション
.rela.text
リンカー
.rodata
テキストへの読み取り専用データの移動
.strtab
出力ファイルの生成
リンカー
.SUNW_reloc
再配置セクションの結合
.SUNW_version
バージョン管理セクション
.symtab
出力ファイルの生成
シンボル削除
リンカー
.tbss
スレッド固有ストレージ (TLS) セクション
.tdata1
スレッド固有ストレージ (TLS) セクション
.tdata
スレッド固有ストレージ (TLS) セクション
.text
リンカー
.zdebug
圧縮デバッグセクション
セクション番号
SHN_ABS
ELF シンボルの可視性
ELF シンボルのタイプ (ELF32_ST_TYPE、ELF64_ST_TYPE)
ELF セクションの特殊インデックス
SHN_AFTER
ELF セクションの属性フラグ
ELF セクションの属性フラグ
ELF セクションの特殊インデックス
SHN_AMD64_LCOMMON
ELF シンボルの可視性
ELF セクションの特殊インデックス
SHN_BEFORE
ELF セクションの属性フラグ
ELF セクションの属性フラグ
ELF セクションの特殊インデックス
SHN_COMMON
シンボル値
ELF シンボルの可視性
ELF シンボルのバインディング、(ELF32_ST_BIND、ELF64_ST_BIND)
ELF セクションの特殊インデックス
SHN_HIOS
ELF セクションの特殊インデックス
ELF セクションの特殊インデックス
SHN_HIPROC
ELF セクションの特殊インデックス
SHN_HIRESERVE
ELF セクションの特殊インデックス
SHN_LOOS
ELF セクションの特殊インデックス
ELF セクションの特殊インデックス
SHN_LOPROC
ELF セクションの特殊インデックス
SHN_LORESERVE
ELF セクションの特殊インデックス
SHN_SUNW_IGNORE
ELF セクションの特殊インデックス
SHN_UNDEF
ELF シンボルの可視性
ELF セクションの特殊インデックス
SHN_XINDEX
ELF セクションの特殊インデックス
セグメント
elfdump を使用したファイルの解析
リンカー
テキスト
基本システム
elfdump を使用したファイルの解析
データ
基本システム
elfdump を使用したファイルの解析
前へ
次へ