2.9.2. errno

C ライブラリの errno 変数は、ライブラリの暗黙スタティックデータエリア内で定義されます。 このエリアは __user_libspace() によって識別されます。 このエリアには、実行時スタックを確立した関数によって使用される初期スタック空間の一部が使用されます。 errno の定義は以下のとおりです。

(*(volatile int *) __rt_errno_addr())

__rt_errno_addr() を定義することで、__user_libspace() によって識別されるデフォルトの場所ではなく、ユーザ定義の場所に errno を配置できます。 __user_libspace スタティックデータ領域も参照して下さい。

戻り値

デフォルトでは、ステータスワードのアドレスを返す __user_libspace() 上のベニアとして実装されます。 適切なデフォルトの定義は、C ライブラリの標準ヘッダ内に含まれています。

Copyright © 2007 ARM Limited. All rights reserved.ARM DUI 0349AJ
Non-Confidential