[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.14.16 HPPA オプション

以下の ‘-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.