1.34 整数および浮動小数点コンパイラ関数と、C ライブラリなしでのアプリケーションのビルド

コンパイラによって、簡単なマシンコードに相当するコードのない演算を処理するために使用されるコンパイラヘルパ関数がいくつかあります。これらの関数では、__rt_raise() が必要です。

例えば、ターゲット命令セットに除算命令がない場合、コンパイラにより暗黙的に呼び出される関数が整数除算に使用されます(ARMv7-R および ARMv7-M の各アーキテクチャでは、命令 SDIV および UDIV が Thumb 状態で使用されます。他のバージョンの ARM アーキテクチャでも、暗黙的に呼び出されるコンパイラ関数が使用されます)。
整数除算およびすべての浮動小数点関数では、例外のスローを含む浮動小数点モードを使用する場合、計算エラーの処理に __rt_raise() が必要です。__rt_raise() を再実装すると、すべての計算関数を利用できるようになります。また、すべてのシグナル処理ライブラリコードをリンクする必要はなくなります。
関連する概念
1.33 C ライブラリを使用せずにベアマシン C としてアプリケーションを作成
1.87 コンパイラによって生成されたライブラリに存在するヘルパ関数
関連する参考文書
1.32 C ライブラリを使用しないアプリケーションの作成
関連情報
『Application Binary Interface (ABI) for the ARM Architecture』
非機密扱いPDF file icon PDF 版ARM DUI0475KJ
Copyright © 2010-2014 ARM.All rights reserved.