4.3.4. 同一関数の 2 つのコピーの使用

2 つの関数に同じ名前を付け、一方を ARM コード用、他方を Thumb コード用にコンパイルできます。

ARM と Thumb の同義語

リンカでは、シンボルの複数の定義をイメージ内に共存させることができます。ただし、各定義は異なるプロセッサ状態に関連付けられている必要があります。ARM と Thumb の同義語を使用してシンボルを参照するとき、リンカでは以下のような規則が適用されます。

  • ARM 状態のシンボルへの BBL、または BLX 命令は、ARM 定義に従って解決されます。

  • Thumb 状態のシンボルへの BBL、または BLX 命令は、Thumb 定義に従って解決されます。

シンボルへのその他の参照は、リンカが最初に検出した定義に従って解決されます。リンカでは、警告を生成し、選択したシンボルを明示します。

Copyright © 2002-2006 ARM Limited. All rights reserved.ARM DUI 0203GJ
Non-Confidential