インターワークに必要なコンパイルを削減してコードサイズを最小化する

リンカでは、ARM 関数がいつ Thumb ステートから呼び出され、Thumb 関数がいつ ARM ステートから呼び出されるのかを検出します。リンカのフィードバックを使用すると、インターワークのコンテキストで使用されない関数がインターワーク用にコンパイルされることを回避できます。

Note

インターワークに必要なコンパイルの削減は、ARMv4T アーキテクチャにのみ該当します。ARMv5T 以降のプロセッサではインターワークによるペナルィは発生しません。

インターワークに必要なコンパイルを削減するには

  1. ソースコードをコンパイルします。

  2. リンカオプション --feedback=filename および --feedback_type=iw を使用して、インターワークのサポートが必要な関数を報告するフィードバックファイルを作成します。

  3. コンパイラオプション --feedback=filename を使用して再コンパイルし、フィードバックファイルをコンパイラに送ります。

コンパイラはリンカが生成したフィードバックファイルを使用して、インターワークのコンテキストで使用されない関数を後でコンパイルしないうな方法で、ソースコードをコンパイルします。

Note

リンカフィードバックファイルを使用する直前に、完全なクリーンビルドを必ず実行して下さい。これにより、生成に使用したソースコードが原因で古いフィードバックファイルを使用するリスクを最小限に抑えることができます。

Show/hide関連項目

概念

ARM® プロセッサをターゲットとしたソフトウェア開発』

参照

『コンパイラリファレンス』

『リンカリファレンス』

タスク
Copyright © 2010-2011 ARM. All rights reserved.ARM DUI 0472EJ
Non-ConfidentialID081711