ARM Thumb 命令セット gcc サポート †gcc 上での Thumb 命令サポートについて. コンパイルオプション †gcc のドキュメントから Thumb 命令に関するオプションを拾ってみると
というあたりかな. ざっくり分類すると,こんなところかな.
Thumb Interwork †-mthumb-interwork の説明によると Generate code which supports calling between the ARM and Thumb instruction sets. Without this option the two instruction sets cannot be reliably used inside one program. The default is `-mno-thumb-interwork', since slightly larger code is generated when `-mthumb-interwork' is specified. ARM 命令セットと Thumb 命令セットをチャンポンに使ってプログラムをリンクできる枠組みのようです. Super Interworking †-mcallee-super-interworking の説明によると Gives all externally visible functions in the file being compiled an ARM instruction set header which switches to Thumb mode before executing the rest of the function. This allows these functions to be called from non-interworking code. 上記の Thumb Interwork の枠組みを使わずに呼び出し元 or 呼び出し先でモード切り替えを行うことで,非 Thumb Interwork コードとインターフェースしよう,ということのようですね. |