dbx コマンドによるデバッグ

注意事項

ild は、コマンド行オプションが実行不能だと判断すると、直接 /usr/css/bin/ld を起動してリンクを行います。

ild でサポートされていない ld オプション

コンパイルシステムに渡されるオプションのうち、ild でサポートされていないものは次のとおりです。

-G

動的モードのときのみ、共有オブジェクトを作成します。未定義のシンボルも許可されます。

-B symbolic

動的モードのときのみ、共有オブジェクトの作成中に、グローバルシンボルに対する参照をオブジェクト内の定義に結び付けます (定義が使用可能な場合)。通常、共有オブジェクト内のグローバルシンボルに対する参照は、たとえ定義が使用可能であっても、実行時まで連結されません。そのため、実行可能ファイルやほかの共有オブジェクト内の同一シンボルの定義によって、オブジェクト自体の定義を無効にすることができます。ld は、未定義のシンボルが -z defs オプションによって無効にされない限り、警告を出力します。

-b

動的モードのときのみ、実行可能ファイルの作成中に、共有オブジェクト内のシンボルを参照するリロケーション用の特別処理を行いません。-b オプションを使用しないと、リンクエディタは、共有オブジェクトに定義されている関数の参照に対し、位置に依存しない特別なリロケーションを作成します。さらに、共有オブジェクトに定義されているデータオブジェクトが、実行時リンカーによって実行可能ファイルのメモリーイメージにコピーされるよう調整します。-b オプションを使用すると、出力コードはより効果的になりますが、共有が難しくなります。

-h name

動的モードのときのみ、共有オブジェクトの作成中に、オブジェクトの動的セクションに name を記録します。オプション name は、オブジェクトの UNIX システムファイル名ではなく、このオブジェクトにリンクされている実行可能ファイルに記録されます。その結果、name は実行時リンカーによって、共有オブジェクトの名前として実行時の検索に使用されます。

-z muldefs

多重シンボル定義を許可します。デフォルトでは、多重シンボル定義がリロケータブルオブジェクト間に存在すると、致命的なエラーが発生します。このオプションを使用すれば、エラーを回避し、最初のシンボル定義を使用することができます。

-z text

動的モードのときのみ、書き込み不能かつ割り当て可能なセクションに対するリロケーションが残っている場合に、強制的に致命的なエラーを発生させます。

そのほかにも、ld に直接渡され、ild でサポートされていないオプションには、次のものがあります。

-D token, token, ...

トークンごとの指示に従って、デバッグ情報を標準エラーとして出力します。特殊トークンの help は、使用できるトークンのすべてのリストを示します。

-F name

共有オブジェクトを作成しているときのみ効果的なオプションです。共有オブジェクトのシンボルテーブルが、name で指定された共有オブジェクトのシンボルテーブルの「フィルタ」として使用されます。

-M mapfile

mapfileld に対する命令のテキストファイルとして読み取ります。マップファイルの詳細については、『SunOS 5.3 Linker and Libraries Manual』を参照してください。

-r

リロケータブルオブジェクトファイルを組み合わせて、1 つのリロケータブルオブジェクトファイルを作成します。ld は未解決の参照があっても気にしません。このオプションは、動的モードでの使用や、-a オプションとの共用はできません。

ild で使用されるファイル

libx.a ライブラリ

a.out 出力ファイル

LIBPATH (通常は /usr/lib)