6.2 リンカ定義のシンボル

リンカは、 ARM® によって予約され、必要に応じてアクセス可能なシンボルを定義します。

文字シーケンス $$ が含まれているシンボル、およびシーケンス $$ が含まれているその他の外部名は、 ARM で予約されている名前です。
このようなシンボリックアドレスは、アセンブリ言語で記述されたプログラムでは再配置可能なアドレスとしてインポートして使用できます。また、C または C++ で記述されたソースコードからは extern シンボルとして参照できます。
次の点に注意して下さい。
  • --strict コンパイラコマンドラインオプションを使用する場合、コンパイラはドル記号を含むシンボル名を認識しません。認識されるようにするには、コンパイラコマンドラインに --dollar オプションを含めます。
  • リンカ定義シンボルは、コードから参照される場合にのみ生成されます。
  • execute-only(XO)セクションが存在する場合は、リンカ定義シンボルは次の制約で定義されます。
    • XO リンカ定義シンボルは、空の領域または XO セクションがない領域に対して定義できません。
    • XO リンカ定義シンボルは、RO セクションのみを含む領域に対して定義できません。
    • RO リンカ定義シンボルは、XO セクションのみを含む領域に対して定義できません。
関連する概念
6.3.7 C および C++ でのリンカ定義シンボルのインポート方法
6.3.8  ARM® アセンブリ言語でのリンカ定義シンボルのインポート方法
関連情報
--dollar、--no_dollar コンパイラオプション
--strict、--no_strict コンパイラオプション
非機密扱いPDF file icon PDF 版ARM DUI0474LJ
Copyright © 2010-2015 ARM.All rights reserved.