6.5.4 symdefs ファイルの形式

symdefs ファイルにはシンボルとその値が定義されています。

ファイルは以下で構成されます。
識別行
symdefs ファイルの識別行は以下で構成されます。
  • 識別文字列、#<SYMDEFS># は、ファイルが symdefs ファイルとしてリンカに認識されるには、そのファイル内の最初の 11 文字がこの文字列である必要があります。
  • 以下の形式のリンカのバージョン情報
    #<SYMDEFS># ARM Linker, vvvvbbb: Last Updated: day month date hh:mm:ss year
    バージョン 5.05、ビルド 169 の場合:
    #<SYMDEFS># ARM Linker, 5050169: Last Updated: Thu Jun 4 12:49:45 2015
  • 以下の形式の、symdefs ファイルを最後に更新した日付と時刻
    Last Updated:Date
バージョン情報と更新情報は、識別文字列の一部ではありません。
コメント
コメントは、テキストエディタを使用して手動で挿入できます。コメントには、以下の特性があります。
  • 先頭行は、特殊な識別コメント #<SYMDEFS># で始まる必要があります。このコメントは、ファイル作成時にリンカによって挿入されます。このコメントを手動で削除しないで下さい。
  • ホワイトスペース以外の最初の文字がセミコロン(;)またはハッシュ(#)の行は、すべてコメントです。
  • ホワイトスペース以外の最初の文字の後にセミコロン(;)またはハッシュ(#)がある行は、コメントではありません。
  • 空白行は無視されるので、読みやすくするために空白行を挿入できます。
シンボル情報
シンボル情報は 1 行に記述され、以下で構成されます。
シンボルの値
リンカでは、シンボルの絶対アドレスを固定長の 16 進形式(例 0x00008000 )で書き込みます。このファイルを編集する場合、アドレス値には 16 進形式と 10 進形式のどちらも使用できます。
タイプフラグ
シンボルのタイプは 1 文字で以下のように表されます。
A
ARM コード
T
Thumb コード
D
データ
N
数値
シンボル名
シンボルの名前です。

この例では、一般的な symdefs ファイルの形式を示しています。
#<SYMDEFS># ARM Linker, 5050169: Last Updated: Date
; 値の型名、これは追加されたコメント
0x00008000 A __main
0x00008004 A __scatterload
0x000080E0 T main
0x0000814D T _main_arg
0x0000814D T __argv_alloc
0x00008199 T __rt_get_argv
…
   # これもまたコメントであり、空白行は無視される
…
0x0000A4FC D __stdin
0x0000A540 D __stdout
0x0000A584 D __stderr
0xFFFFFFFD N __SIG_IGN
非機密扱いPDF file icon PDF 版ARM DUI0474LJ
Copyright © 2010-2015 ARM.All rights reserved.