[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
以下の ‘-m’ オプションが 68000 シリーズ向けに定義されている。 これらのオプションのデフォルト値は、コンフィギュレーション時に 68000 のどの形式が選択されたかに依る。最も共通する選択のデフォルトは 以下の通り。
-m68000
-mc68000
68000 用の出力を生成する。これは、コンパイラが 68000 ベースのシステム向けにコンフィギュレーションされた場合の デフォルトである。
このオプションは、68000 や EC000 のコアを持つマイクロコントローラ、 68008、68302、68306、68307、68322、68328、68356 等に対して 使う。
-m68020
-mc68020
68020 用の出力を生成する。これは、コンパイラが 68020 ベースのシステム向けにコンフィギュレーションされた場合の デフォルトである。
-m68881
浮動小数点数向けの 68881 の命令を含む出力を生成する。 これは、‘-nfp’ がコンフィギュレーション時に指定されない限り、 ほとんどの 68020 のシステムのデフォルトである。
-m68030
68030 用の出力を生成する。これは、コンパイラが 68030 ベースのシステム向けにコンフィギュレーションされた場合の デフォルトである。
-m68040
68040 用の出力を生成する。これは、コンパイラが 68040 ベースのシステム向けにコンフィギュレーションされた場合の デフォルトである。
このオプションは、68040 ではソフトウェアでエミュレートしなければ ならない 68881/68882 の命令を禁止する。読者の 68040 システムに これらの命令をエミュレートしなければならないようなコードがなければ、 このオプションを使うこと。
-m68060
68060 用の出力を生成する。これは、コンパイラが 68060 ベースのシステム向けにコンフィギュレーションされた場合の デフォルトである。
このオプションは、68060 ではソフトウェアでエミュレートしなければ ならない 68881/68882 の命令を禁止する。読者の 68060 システムに これらの命令をエミュレートしなければならないようなコードがなければ、 このオプションを使うこと。
-mcpu32
CPU32 向けの出力を生成する。これは、GCC が CPU32 ベースのシステム 向けにコンフィギュレーションされたときのデフォルトである。
このオプションは、CPU32 や CPU32+ のコアを持つマイクロコントローラ、 68330、68331、68332、68333、68334、68336、68340、68341、68349、68360 等に対して使う。
-m5200
520X 「コールドファイア」シリーズの CPU 用にコードを生成する。 GNU C コンパイラが 520X ベースのシステム用にコンフィギュレーション された場合のデフォルトになる。
このオプションは、5200 のコアを持つマイクロコントローラ、 MCF5202、MCF5203、MCF5204、MCF5202 等に使う。
-m68020-40
68040 用に出力を生成するが、新しい命令は何も使わない。 この結果、68020/68881 や 68030、68040 のどれでも比較的効率の良い コードが生成される。生成されたコードでは、68881 の命令を使っており、 68040 ではエミュレートされる。
-m68020-60
68060 用に出力を生成するが、新しい命令は何も使わない。 この結果、68020/68881 や 68030、68040 のどれでも比較的効率の良い コードが生成される。生成されたコードでは、68881 の命令を使っており、 68060 ではエミュレートされる。
-mfpa
Sun の FPA 浮動小数点命令を含むコードを生成する。
-msoft-float
浮動小数点演算に関するライブラリ呼出しを含む出力を生成する。 警告必要となるライブラリは、全ての m68k のターゲットで 利用可能な訳ではない。普通はその機種で標準の C コンパイラの機能が 使われるが、これはクロスコンパイルの場合は直接は使えない。 クロスコンパイルの場合は、適切なライブラリ関数が提供できるよう 読者自身で調整を行なわなければならない。組み込みターゲットの ‘m68k-*-aout’ と ‘m68k-*-coff’ では、ソフトウェアによる 浮動小数点演算をサポートしている。
-mshort
int
型を short int
と同じ 16 ビット長とする。
-mnobitfield
ビットフィールド命令を使わない。 ‘-m68000’、‘-mcpu32’、‘-m5200’ オプションは、 ‘-mnobitfield’ を暗黙に含む。
-mbitfield
ビットフィールド命令を使う。 ‘-m68020’ オプションは、‘-mbitfield’ を暗黙に含む。 68020 向けのコンフィギュレーションを使う場合のデフォルトである。
-mrtd
別の関数呼び出し規約を使う。その規約では、引数の数が固定している
関数は、rtd
命令で戻る。この命令は戻る際に引数を
ポップする。これにより、呼び出し側では、引数をポップする必要が
ないので命令を一個節約できる。
この呼び出し規約は、Unix で通常使われているものと互換性がない。 このため、Unix のコンパイラでコンパイルされたライブラリを 呼び出す必要があるときには使えない。
また、可変個数の引数を取る全ての関数(printf
を含む)について
関数プロトタイプを用意しなければならない。そうしないと、これらの
関数に対する呼び出しコードが正しく生成されないからである。
さらに、あまりたくさん引数をつけて関数を呼び出すと全く正しくない コードが生成される。(普通は、余分な引数は無視され害がない。)
rtd
命令は、68010、68020、68030、68040、68060、CPU32 といった
プロセッサにあるが、68000 や 5200 にはない。
-malign-int
-mno-align-int
GCC が int
、long
、long long
、float
、
double
、long double
の変数を 32ビット境界に置く
(‘-malign-int’) か、16ビット境界に置く(‘-mno-align-int’)かを
制御する。変数を 32 ビット境界に整列させると、32ビットバスのプロセッサでは
いくらか高速になるコードを生成するが、メモリを余分に消費する。
注意: ‘-malign-int’ オプションを指定すると、 GCC は上で列挙した型を含む構造体を、m68k 用の、公表されている ほとんどのアプリケーション・バイナリ・インターフェース仕様とは 異なるアライメントを取るように置く。
This document was generated
using texi2html 1.78.