[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
以下の ‘-m’ オプションが HPPA シリーズ向けに定義されている。
-march=architecture type
指定されたアーキテクチャ用のコードを生成する。 architecture type として使用可能な値は、 PA 1.0 に対しては ‘1.0’、PA 1.1 には ‘1.1’、PA 2.0 には ‘2.0’ である。HP-UX の ‘/usr/lib/sched.models’ を参照して、 自分の機種用の適切なアーキテクチャのオプションを決めて欲しい。 アーキテクチャ番号が小さいもの用にコンパイルされたコードは、 大きいアーキテクチャでも動作するが、逆は動作しない。
PA 2.0 のサポートは現在 GAS のスナップショットの 19990413 以降が 必要である。binutils の次のリリース(現在は 2.9.1)で、おそらく PA 2.0 のサポートが入るだろう。
-mpa-risc-1-0
-mpa-risc-1-1
-mpa-risc-2-0
それぞれ、-march=1.0
、-march=1.1
、-march=2.0
の別名である。
-mbig-switch
大きな switch 文用の表に適したコードを生成する。 このオプションは、アセンブラやリンカが switch 文用の表の範囲内の 分岐先を越えているという文句を言った場合にのみ使うこと。
-mjump-in-delay
関数呼びだしの遅延スロットを無条件ジャンプ命令で埋める。 これは、その関数呼びだしの戻りアドレスポインタを条件ジャンプのターゲットに なるように修正することで行なう。
-mdisable-fpregs
どんな形であれ、浮動小数点レジスタを使うのを避ける。 これは、浮動小数点レジスタのコンテキスト切替えが遅いカーネルを コンパイルするときに必要になる。このオプションを指定して、かつ、 浮動小数点演算を実行すると、コンパイラが異常終了する。
-mdisable-indexing
インデックス付きアドレッシングモードを使うのを避ける。 これにより、MACH で MIG により生成されたコードをコンパイルするときの 不明瞭な問題を回避できる。
-mno-space-regs
ターゲット機種にスペース・レジスタがないと想定したコードを 生成する。これにより、GCC は、より高速な間接呼出しを生成し、 スケーリングなしのインデックス付きアドレッシングモードを使えるように する。
このようなコードは、レベル 0 の PA システムやカーネルに適している。
-mfast-indirect-calls
スペース境界を越えた呼出しはないと想定したコードを生成する。 これにより、より高速な間接呼出しを行なうコードを生成するようになる。
このオプションは、共有ライブラリや関数内関数がある場合には正しく 動作しない。
-mspace
実行時間よりもメモリ空間を最適化する。現時点では、これは 関数プロローグとエピローグをインライン展開しないようにするだけである。 このオプションは、PIC 用コード生成とプロファイリングとは互換性が ない。
-mlong-load-store
HP-UX 10 のリンカにより必要とされることがある、3命令のロード/ストア 命令列を生成する。これは、HP のコンパイラの ‘+k’ オプションと 等価である。
-mportable-runtime
HP の ELF システム向けに提案されているポータブルな呼出し規約を 使う。
-mgas
GAS しか認識しないアセンブラ命令を使用することを可能にする。
-mschedule=cpu type
機種 cpu type に対する制限に従ってコードをスケジューリングする。 cpu type の取りうる値は、‘700’、 ‘7100’、‘7100LC’、‘7200’、‘8000’ である。 HP-UX システムの ‘/usr/lib/sched.models’ を参照して、 読者の機種に適したスケジューリング・オプションを決めて欲しい。
-mlinker-opt
HP-UX リンカの最適化パスを有効にする。ただし、これにより シンボリックデバッグが出来なくなることに注意。 また、HP-UX 8 と HP-UX 9 のリンカにあるバグを引き出してしまう。 このバグは、何かのプログラムをリンクするときに正しくないエラーメッセージを 出すというものである。
-msoft-float
浮動小数点用ライブラリ呼び出しを含む出力を生成する。 警告: 必要となるライブラリは全ての HPPA ターゲットで利用可能 であるわけではない。普通はその機種の通常の C コンパイラの機能が 使われるが、クロスコンパイルの場合はこれをそのまま行なうことはできない。 クロスコンパイルの場合は、適切なライブラリ関数を自分で用意しなければ ならない。組み込みターゲット ‘hppa1.1-*-pro’ は、 ソフトウェアによる浮動小数点サポートを提供している。
‘-msoft-float’ を指定すると、出力ファイル中の呼び出し規約が変わる。 このため、プログラム全体をこのオプションでコンパイルしないと いけない。特に、GCC 付属のライブラリである、‘libgcc.a’ を コンパイルするときに、‘-msoft-float’ を指定してコンパイルしないと このライブラリが正しく動作しない。
This document was generated
using texi2html 1.78.