リンカーは、入力配置可能オプジェクトの入力セクションを出力ファイルオブジェクトのセグメントに、自動的にかつ効率的に対応付けします。対応する mapfile を -M オプションに指定すれば、リンカーの初期値の対応付けの方法を変更できます。
この mapfile オプションを使えば、以下のことができます。
セグメントを宣言し、セグメント型、アクセス権、アドレス、長さ、および整列などセグメント属性の値を指定する
特定のセグメントに対応付けするのにセクションで必要な属性値を指定することにより (属性とは、セクション名、セクション型、およびアクセス権)、また必要ならば、入力セクションをどのオブジェクトファイルから取ってくるかを指定することにより、入力セクションのセグメントへの対応付けを制御する
指定したセグメントの大きさに等しい値に (リンカーが) 割り当てた、オブジェクトファイルから参照できる大域絶対シンボルを宣言する
mapfile オプションによって、ifiles (以前のリンカーで使用できた機能で、コマンド言語による指示を使用する) のユーザーは、mapfiles に移行できます。ただし、以前の ifiles で利用できた機能で、前述の説明に含まれていないものすべては、mapfile オプションでは利用できません。
mapfile オプションを使う場合、実行できない a.out ファイルを簡単に作れてしまうことに留意してください。リンカーは、mapfile オプションなしでも、正しい a.out を作ることができます。mapfile オプションは、システムプログラム用のもので、アプリケーションプログラムでの使用を意図したものではありません。