Skip to main content

IAR Embedded Workbench for Arm 9.70.x

‑‑rwpi

このセクションの内容:
構文

‑‑rwpi=[sb|sb_near|got]

パラメータ

sb(デフォルト)

コンパイラは、静的ベースレジスタ(R9)を基準としたオフセットを使用します。

sb_near

コンパイラは、制限された範囲(64Kバイト)で、静的ベースレジスタ(R9)を基準としたオフセットを使用します。これは、--rwpi_nearの使用に関連します。

got

コンパイラは、グローバル オフセット テーブル(GOT)を基準としたオフセットを使用します。この設定は、共有オブジェクトのコードを生成するときに使用されます。この動作はオプション--sharedによって黙示的に設定されるため、これを明示的に設定する必要はありません。

説明

このオプションを使用して、コンパイラが書き込み可能なデータへの位置に依存しないアクセス方法を選択します。64ビットモードでは、このオプションは利用できません。

このオプションを使用する場合、以下の制限が適用されます。

  • オブジェクト属性__ramfuncは使用できません

  • ポインタ定数は、書込み可能な変数のアドレスでは初期化できません。ただし、書込み可能な静的変数は、実行時に書込み可能なアドレスに初期化できます。

リンカ設定ファイルのmovableブロックを使用することを検討します。define blockディレクティブを参照してください。

関連項目

‑‑no_rw_dynamic_init定義済プリプロセッサシンボルの詳細

注意

[プロジェクト]>[オプション]>[C/C++コンパイラ]>[コード]>[リード/ライトデータ(rwpi)]