コンパイルシステムで受け入れられるリンカー制御オプションには、次のものがあります。
-i
LD_LIBRARY_PATH 設定を無視します。LD_LIBRARY_PATH 設定が有効になっているときは、このオプションを使用すると、実行中のリンク編集の妨げとなる実行時ライブラリ検索を制御できます。
-s
出力ファイルからシンボリック情報を取り除きます。デバッグ情報と、それに対応するリロケーションエントリはすべて削除されます。リロケータブルファイルまたは共有オブジェクトを除き、シンボルテーブルセクションや文字列テーブルセクションも出力オブジェクトファイルから削除されます。
-V
使用中の ild バージョンに関するメッセージを出力します。
-B dynamic | static
ライブラリの内容を制御するオプションです。-Bdynamic オプションは、動的モードでのみ有効になります。これらのオプションは、トグルとしてコマンド行に何回でも指定することができます。-Bstatic オプションを指定すると、共有オブジェクトは -Bdynamic オプションを指定するまで受け入れられません。「-l x (スペースは任意)」オプションを参照してください。
-g
-g オプション (出力デバッグ情報) を指定すると、次のいずれかの条件が真でない限り、コンパイルシステムは ld の代わりに ild を起動します。
共有ライブラリを作成する -G オプションが指定されている
-xildoff オプションが指定されている
コマンド行にソースファイルが指定されている
-d y | n
-dy (デフォルト) を指定すると、ild は動的リンクを行い、-dn を指定すると、静的リンクを行います。「-B dynamic | static」オプションを参照してください。
-L path (スペースは任意)
path に指定されたパスをライブラリ検索用ディレクトリに追加します。ild は、まず -L オプションで指定されたディレクトリでライブラリを検索してから、次に標準のディレクトリを検索します。このオプションは、コマンド行で -l オプションより前に挿入されている場合のみ効果があります。環境変数の LD_LIBRARY_PATH を使用して、ライブラリ検索用のパスを追加することもできます。「LD_LIBRARY_PATH」を参照してください。
-l x (スペースは任意)
ライブラリ libx.so または libx.a を検索します。これらはそれぞれ、共有オブジェクトとアーカイブライブラリの慣用名になります。動的モードでは、-Bstatic オプションが有効でない限り、ild は、libx.so または libx.a ファイルのライブラリ検索用パスに指定されたディレクトリを検索します。-l オプションによって、libx.so および libx.a 形式の名前の 2 つのファイルが指定されている場合、ild は末尾が .so のファイルを選択し、そのファイルが検出された最初のディレクトリで検索を終了します。libx.so ファイルが検出されなかったときは、libx.a ファイルを検索します。静的モード、あるいは -Bstatic オプションが有効な場合には、ild は末尾が .a のファイルだけを選択します。ライブラリの検索は、名前が指定された場合のみ行われます。したがって、-l オプションの挿入には重要な意味が含まれます。
-o outfile
outfile に指定された名前の出力オブジェクトファイルを作成します。デフォルトのオブジェクトファイル名は、a.out です。
-Q y | n
-Qy オプションを指定すると、出力ファイルの .comment セクションに ident 文字列が追加され、ファイルの作成に使用されたリンクエディタのバージョンが識別されます。ld -r を使用した場合のように、複数のリンク手順がある場合は、複数の ld ident が追加されます。これは、cc コマンドのデフォルトのアクションと同じ結果になります。-Qn オプションを指定した場合には、バージョンの識別は行われません。
-R path (スペースは任意)
このオプションは、コロンで区切られたディレクトリのリストを指定することにより、実行時リンカーにライブラリ検索用ディレクトリを指示します。path は、空白でなければ、出力オブジェクトファイルに記録され、実行時リンカーに渡されます。このオプションのインスタンスを複数指定する場合は、コロンで区切りながら続けていきます。
-xildoff
インクリメンタルリンカーをオフにし、バンドルされた ld を強制的に使用します。-g オプションが使用されていない場合、または -G オプションが使用されている場合、このオプションはデフォルトになります。このデフォルトは、-xildon を使用して無効にすることができます。
-xildon
インクリメンタルリンカーを起動します。ild をインクリメンタルモードで強制的に実行します。-g オプションが使用されている場合、このオプションはデフォルト設定になります。このデフォルトは、-xildoff を使用して無効にすることができます。
-Y P, dirlist (スペースは任意)
cc 専用です。ライブラリの検索に使用されるデフォルトのディレクトリを変更します。dirlist オプションには、コロンで区切られたパスのリストを入力します。
「-z name」形式は、ild によって特別なオプションに使用されます。-z オプションの前に「i_」を挿入すると、ild 固有のオプションが識別されます。
-z defs
リンクの最後に未定義のシンボルが残っている場合に、強制的に致命的なエラーを発生させます。このオプションは、実行可能ファイルを作成しているときのデフォルトになります。また、共有オブジェクトを作成して、そのオブジェクトが自己充足型 (すべてのシンボリック参照が内部的に解決される型) であることを確証する場合にも便利です。
-z i_dryrun
ild 専用です。ild によってリンクされるファイルのリストを出力し、終了します。
-z i_full
ild 専用です。インクリメンタルモードで完全な再リンクを行います。
-z i_noincr
ild 専用です。ild をインクリメンタルでないモードで実行します。通常の使用はお薦めできません。テスト目的だけに使用するようにしてください。
-z i_quiet
ild 専用です。ild の再リンクメッセージをすべて非表示にします。
-z i_verbose
ild 専用です。一部の ild の再リンクメッセージに含まれるデフォルト情報を展開表示します。
-z nodefs
未定義のシンボルを許可します。このオプションは、共有オブジェクトを作成しているときのデフォルトになります。実行可能ファイルで使用した場合、このような「未定義シンボル」に対する参照動作は指定されません。
-z weakextract
シンボルに対する弱い参照は、シンボルを静的ライブラリから引用するようファイルに定義します。