コマンド行オプションの「ld」または「as」コマンドへの引き渡し
コンパイラーは、コンパイル中に必要に応じて他のコマンド (例えば ld および as) を自動的に実行するので、 通常は、これらのコマンドのオプションにユーザーが関与する必要はありません。 これらの個々のコマンドに対してオプションを選択したい場合は、次のようにできます。
- コンパイラー・コマンド行にリンカー・オプションを入れます。コンパイラーが -q オプション以外のコマンド行オプションを認識しないと、そのオプションをリンカーに渡します。
例:
xlf95 --print-map file.f # --print-map is passed to ld - コンパイラー・オプション -W または -X を使用して、コマンドの引数リストを作成してください。
例:
この例では、ld オプション --print-map は リンカー (-Wl オプションの l で指示される) の実行時にリンカーに渡されます。xlf95 -Wl,--print-map file.f # --print-map is passed to ldこの形式は、前の形式よりも一般的です。 なぜなら、-W オプションの後にさまざまな英字を使用することにより、as コマンドおよび コンパイル中に呼び出される他のコマンドに代わって機能するからです。
- 構成ファイル /opt/ibm/xlf/16.1.0/etc/xlf.cfgを編集するか、
あるいは、独自の構成ファイルを作成してください。特定のスタンザをカスタマイズして、特定のコマンド行オプションをアセンブラーまたはリンカーに渡せるようにできます。
例えば、/opt/ibm/xlf/16.1.0/etc/xlf.cfg の xlf95 スタンザの中にこれらの行を組み込むには、次のようにします。
を入れて、次のコマンドasopt = "W" ldopt = "M"
を発行すると、produces_warnings.s ファイルはオプション -W と -Z (警告を出して、コンパイル・エラーがあってもオブジェクト・ファイルを作成する) でアセンブルされ、 オプション -s と -M (最終実行可能ファイルを除去し、ロード・マップを作成する) でリンカーが呼び出されます。xlf95 -Wa,-Z -Wl,-s -w produces_warnings.s uses_many_symbols.f