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

2.14.10 M32R/D オプション

以下の ‘-m’ オプションが三菱 M32R/D アーキテクチャ用に定義されている。

-mcode-model=small

全てのオブジェクトが下位 16MB の範囲のメモリに収まり(そうなっていると アドレスが ld24 命令でロード可能である)、全てのサブルーチンは、 bl 命令で到達可能であると想定する。 これはデフォルトである。

特定のオブジェクトのアドレス可能性は、model 属性で設定可能である。

-mcode-model=medium

オブジェクトは 32 ビットのアドレス空間のどこにあっても良く(GCC は それらのアドレスをロードするのに seth/add3 命令を生成する)、 全てのサブルーチンは、bl 命令で到達可能であると想定する。

-mcode-model=large

オブジェクトは 32 ビットのアドレス空間のどこにあっても良く(GCC は それらのアドレスをロードするのに seth/add3 命令を生成する)、 サブルーチンは、bl 命令では到達できない可能性があると 想定する(GCC は、さらに遅い seth/add3/jl 命令列を生成する)。

-msdata=none

小データ領域を使わないようにする。変数は ‘.data’、‘bss’、 ‘.rodata’ のどれか一つに置かれる(section 属性が 指定されればその限りではない)。 これはデフォルトである。

小データ領域は、セクション ‘.sdata’ と ‘.sbss’ からなる。 section 属性でこのどちらかのセクションを指定すれば、 オブジェクトを小データ領域に明示的に置くことができる。

-msdata=sdata

小さいグローバルなデータと静的なデータを小データ領域に置きはするが、 それらを参照するために特別なコードは生成しない。

-msdata=use

小さいグローバルなデータと静的なデータを小データ領域に置き、 それらを参照するために特別なコードを生成する。

-G num

num バイト以下の大きさのグローバルなオブジェクトと静的なオブジェクトを、 普通のデータセクションや bss セクションではなく、小データセクションや 小 bss セクションに置く。num のデフォルト値は 8 である。 このオプションを有効にするためには、‘-msdata’ オプションで ‘sdata’ か ‘use’ のどちらかを指定しなければならない。

全てのモジュールは、‘-G num’ で同じ値を指定してコンパイル する必要がある。num の値が違っていると、正しく動作するかどうか わからない。動作しない場合は、リンカがエラーメッセージを出すはずである。 正しくないコードは生成されない。


This document was generated using texi2html 1.78.