Go to main content
Oracle® Solaris 11.3 リンカーとライブラリガイド

印刷ビューの終了

更新: 2015 年 10 月
 
 
第 9 章

mapfile

mapfile を使用すると、リンカーの操作と、結果として得られる出力オブジェクトを詳細に制御できます。

  • 出力セグメントの作成または変更、あるいはその両方を行います。

  • 入力セクションをセグメントに割り当てる方法と、それらのセクションの相対的な順序を定義します。

  • シンボル範囲の指定またはバージョン管理、あるいはその両方を行うことによって、共有可能なオブジェクト用の安定した、下位互換性を持つインタフェースを作成します。

  • 共有可能なオブジェクトの依存関係から、使用対象のバージョンを定義します。

  • 出力オブジェクトにヘッダーオプションを設定します。

  • 動的実行可能ファイルのプロセススタック属性を設定します。

  • ハードウェアおよびソフトウェア機能を設定またはオーバーライドします。


注 -  mapfile を使用せずにリンカーを使用すると、有効な ELF 出力ファイルが常に生成されます。mapfile オプションによって、出力オブジェクトに対する高い柔軟性と高性能の制御機能がユーザーに提供されますが、一部のオプションによって、無効または使用できないオブジェクトが生成される可能性があります。ユーザーは、ELF 形式を制御する規則および規約についての知識を持っていることが期待されます。

–M コマンド行オプションは、使用される mapfile を指定するために使用されます。単一のリンク操作内で複数の mapfile を使用できます。複数の mapfile が指定されると、リンカーは、それらがあたかも単一の論理 mapfile であるかのように、各ファイルを指定された順序で処理します。この処理は、あらゆる入力オブジェクトが処理される前に実行されます。

システムの /usr/lib/ld ディレクトリ内に、一般的な問題を解決するためのサンプル mapfile が提供されています。