6.1 マッピングシンボルについて

マッピングシンボルは、リテラルプール境界でのコードとデータ間でのインラインの遷移と ARM コードと Thumb コード(ARM/Thumb インターワークベニアなど)間でのインラインの遷移を識別するために、コンパイラおよびアセンブラによって生成されます。

マッピングシンボルを次に示します。

$a

ARM 命令シーケンスの開始。

$t

Thumb 命令シーケンスの開始。

$t.x

ThumbEE 命令シーケンスの開始。

$d

データ項目(リテラルプールなど)シーケンスの開始。

armlink は、$d.realdata マッピングシンボルを生成することによって、そのデータが実行不可能なセクションに属していることを fromelf に伝えます。したがって、 fromelf -z によって出力されるコードとデータのサイズは、 armlink --info sizes の出力と同じです。その例を次に示します。

      Code (inc. data)   RO Data          x          y          z

この例で、y$d でマークされ、RO Data$d.realdata でマークされています。

$v という文字で始まるシンボルは、VFP に関連したマッピングシンボルです。通常、VFP を備えたターゲット向けのビルド時に出力されます。$v で始まるシンボルをソースコードで使用するのは避けて下さい。

fromelf --elf --strip=localsymbols コマンドで実行可能イメージを変更すると、すべてのマッピングシンボルがイメージから削除されるので注意して下さい。

関連する参考文書
12.91 --list_mapping_symbols、--no_list_mapping_symbols
12.143 --strict_symbols、--no_strict_symbols
関連情報
シンボルの命名規則
--strip=option[,option,…] fromelf オプション
--text fromelf オプション
ELF for the ARM Architecture
非機密扱いPDF file icon PDF 版ARM DUI0474JJ
Copyright © 2010-2013 ARM.All rights reserved.