1.5.5 C ライブラリによる __user_libspace スタティックデータ領域の使用

__user_libspace スタティックデータ領域は、C ライブラリのスタティックデータを保持する領域です。C ライブラリは __user_libspace 領域を使用して多数の異なる種類のデータを保存します。

この領域は、ゼロで初期化されたデータ内の 96 バイトのブロックで、C ライブラリによって提供されます。また、C ライブラリの初期化時に一時的なスタックとしても使用されます。
デフォルトの ARM® C ライブラリは、以下のデータの保持に __user_libspace 領域を使用します。
  • errno を設定できる関数によって使用される errno__rt_errno_addr() はデフォルトで、errno を指すポインタを返します。
  • ソフトウェア浮動小数点の浮動小数点(FP)ステータスワード(例外フラグ、丸めモード)。ハードウェア浮動小数点では使用されません。__rt_fp_status_addr() はデフォルトで、FP ステータスワードを指すポインタを返します。
  • すべての __Heap_Descriptor 関連関数によって使用される、ヒープのベースを指すポインタ(すなわち、malloc)。
  • setlocale() などの関数や、それらに依存するその他のすべてのライブラリ関数によって使用される現在のロケール設定。例えば、ctype.h 関数は、LC_CTYPE 設定にアクセスする必要があります。

C および C++ ライブラリによる __user_libspace 領域の使用形態は、今後のリリースで変更される可能性があります。
関連する概念
1.5.6 __user_libspace スタティックデータ領域のサブセクションにアクセスする C ライブラリ関数
関連情報
『ARM アーキテクチャ用 C++ ABI』の __aeabi_atexit()
非機密扱いPDF file icon PDF 版ARM DUI0808CJ
Copyright © 2014, 2015 ARM.All rights reserved.