--bss_threshold=num

このオプションを使用すると、セクションでの小容量のグローバル ZI データ項目の配置を制御できます。小容量のグローバル ZI データ項目は、サイズが 8 バイト以下の未初期化データ項目です。

Show/hide構文

--bss_threshold=num

各項目には以下の意味があります。

num

以下のいずれかを指定します。

0

小容量のグローバル ZI データ項目を ZI データセクションに配置します。

8

小容量のグローバル ZI データ項目を RW データセクションに配置します。

Show/hide使用法

ARM コンパイラ 4.1 以降では、コンパイラは最適化を目的として、小容量のグローバル ZI データ項目を RW データセクションに配置する場合があります。RVCT 2.0.1 以前では、小容量のグローバル ZI データ項目は、デフォルトで ZI データセクションに配置されました。

--bss_threshold=0 を使用して、ZI データセクションへの小容量のグローバル ZI データ項目の配置について、RVCT 2.0.1 以前の動作をエミュレートします。

Note

--bss_threshold=0 オプションは、現在のコンパイルモジュールのすべての小容量のグローバル ZI データ項目を ZI データセクションに配置するようにコンパイラに指示します。固有の変数を配置するには、以下のオプシンを使用します。

  • ZI データセクションに配置するには、__attribute__((zero_init)) を使用します。

  • 固有の ZI データセクションに配置するには、__attribute__((section("name")))__attribute__((zero_init)) を組み合わせて使用します。

Show/hideデフォルト

--bss_threshold オプションを指定しなかった場合、コンパイラは --bss_threshold=8 が指定されたときと同じ処理を実行します。

ARM Linux 設定ファイルをコマンドラインで指定して、--translate_gcc または --translate_g++ を使用した場合は、--bss_threshold=0 を指定したときと同じ処理が実行されます。

Show/hide

int glob1;         /* RVCT 2.0.1 以前では ZI(.bss) */
                   /* RVCT 2.1 以降では RW(.data) */

--bss_threshold=0 を使用してこのコードをコンパイルすると、glob1 が ZI データセクションに配置されます。

Show/hide関連項目

Copyright © 2010-2011 ARM. All rights reserved.ARM DUI 0491EJ
Non-ConfidentialID081711