[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
以下の ‘-m’ オプションが AMD Am29000 用に定義されている。
-mdw
DW
ビットが立っている、すなわちバイト演算と半語演算が
ハードウェアにより直接サポートされていることを想定したコードを
生成する。これがデフォルトである。
-mndw
DW
ビットが立っていないことを想定したコードを生成する。
-mbw
システムが、バイトと半語の書き込み演算をサポートしていることを想定した コードを生成する。これがデフォルトである。
-mnbw
システムが、バイトと半語の書き込み演算をサポートしていないことを想定した コードを生成する。‘-mnbw’ は ‘-mndw’ を含む。
-msmall
スモール・メモリ・モデルを使う。このモデルでは、関数のアドレスは
全て一個の 256KB のセグメント内にあるか、256k より小さい絶対アドレスに
あることを想定する。これにより、call
命令が、
const
、consth
、calli
という命令列の代わりに
使われる。
-mnormal
ノーマル・メモリ・モデルを使う。呼出し側関数が同一ファイル内にあるときのみ
call
命令を生成し、それ以外の場合は calli
命令を生成する。
これは、各ファイルが 256 KB 未満であれば動作する。この場合、
実行形式全体は 256KB より大きくても良い。これがデフォルトである。
-mlarge
常に calli
命令を使う。一個のファイルをコンパイルしたときに
256KB より大きなコードになりそうなら、このオプションを指定する。
-m29050
Am29050 用のコードを生成する。
-m29000
Am29000 用のコードを生成する。これがデフォルトである。
-mkernel-registers
レジスタ gr96-gr127
への参照の代わりに、レジスタ gr64-gr95
への参照を生成する。このオプションは、ユーザモードのコードで使われるものとは
分離したグローバルレジスタのセットを必要とするカーネルコードを
コンパイルするときに使うことができる。
このオプションを使うときは、‘-f’ オプションで指定するレジスタ名は、 通常のユーザモードの名前を使わなければならない。
-muser-registers
通常のグローバル・レジスタのセットである、gr96-gr127
を使う。
これがデフォルトである。
-mstack-check
-mno-stack-check
各スタック調整の後に、__msp_check
への呼出しを挿入する
(挿入しない)。これはカーネルコードで良く使われる。
-mstorem-bug
-mno-storem-bug
‘-mstorem-bug’ を指定すると、mstrim 命令と storem 命令を 分離して扱えない 29k プロセッサ(29050 を除く、現時点でのほとんどの 29000 チップ)を取り扱う。
-mno-reuse-arg-regs
-mreuse-arg-regs
‘-mno-reuse-arg-regs’ を指定すると、入力引数レジスタは 引数をそのままコピーするためにしか使わないようにする。 これは、宣言されたものよりも少ない引数で関数を呼び出しているのを 検出する手助けになる。
-mno-impure-text
-mimpure-text
‘-mimpure-text’ を、‘-shared’ に加えて指定すると、 享有オブジェクトをリンクするときにリンカに ‘-assert pure-text’ オプションを渡さないようにする。
-msoft-float
浮動小数点用ライブラリ呼び出しを含む出力を生成する。 警告: 必要となるライブラリは GCC の一部ではない。 普通はその機種の通常の C コンパイラの機能が 使われるが、クロスコンパイルの場合はこれをそのまま行なうことはできない。 クロスコンパイルの場合は、適切なライブラリ関数を自分で用意しなければ ならない。
-mno-multm
multm 命令や multmu 命令を生成しない。これは、これらの命令向けに トラップ・ハンドラを持たない幾つかの組み込みシステムで有用である。
This document was generated
using texi2html 1.78.