[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
以下の ‘-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.