3.2.7 シンボル情報

-show=symbolオプションを指定した場合は,外部定義シンボル,または静的内部定義シンボルのアドレス,サイズ,種別,最適化実行の有無をアドレス順で出力します。

また,-show=referenceオプションを指定した場合は,各シンボルの参照回数も出力します。

シンボル情報の出力例を以下に示します。

*** Symbol List ***
 
SECTION=(1)
FILE=(2)
                (3)          (4)              (5)
                START        END              SIZE
  (6)           (7)          (8)              (9)           (10)    (11)
  SYMBOL        ADDR         SIZE             INFO          COUNTS  OPT
 
SECTION=.text
FILE=sample.obj
                00000100     00000123         24
  _main
                00000100            0         func ,g            0
  _func_01
                00000118            0         func ,g            0
SECTION=.bss
FILE=sample.obj
                000f0404     000f040b         8
  _gvall
                000f0404            4         data ,g            0

項番

説明

(1)

セクション名

セクション名を出力します。

(2)

ファイル名

ファイル名を出力します。

(3)

先頭アドレス

(2)のファイルに含まれる該当セクションの先頭アドレスを出力します。

16進数で表記します。

(4)

最終アドレス

(2)のファイルに含まれる該当セクションの最終アドレスを出力します。

16進数で表記します。

(5)

セクション・サイズ

(2)のファイルに含まれる該当セクションのセクション・サイズを出力します(単位:バイト)。

16進数で表記します。

(6)

シンボル名

シンボル名を出力します。

(7)

シンボル・アドレス

シンボル・アドレスを出力します。

16進数で表記します。

(8)

シンボル・サイズ

シンボル・サイズを出力します(単位:バイト)。

16進数で表記します。

(9)

シンボル種別

データ種別,および宣言種別を出力します。

-

データ種別

func : 関数名

data : 変数名

entry : エントリ関数名

none : 未設定(ラベル,アセンブラ・シンボル)

-

宣言種別

g : 外部定義

l : 内部定義

(10)

シンボル参照回数

シンボル参照回数を出力します。

16進数で表記します。

-show=referenceオプションを指定した場合のみ出力します。

参照回数を出力しないときは,“*”を出力します。

(11)

最適化実行の有無

最適化実行の有無を出力します。

ch : 最適化によって変更されたシンボル

cr : 最適化によって生成されたシンボル

mv : 最適化によって移動されたシンボル

 

-show=structオプションを指定した場合は,コンパイル時に-gオプションを指定したソース・ファイル内で定義した構造体,および共用体メンバのアドレスを出力します。

シンボル情報の出力例を以下に示します。

*** Symbol List ***
 
SECTION
FILE
                START        END              SIZE
  SYMBOL        ADDR         SIZE             INFO          COUNTS  OPT
    (1)                      (2)
  STRUCT                     SIZE
    (3)         (4)          (5)              (6)
  MEMBER        ADDR         SIZE             INFO
 
SECTION=B
FILE=sample.obj
                00001000     00001003         4
  a
                00001000     4                data ,g       1
  struct A{
                             4
  a.b
                00001000     1                char
  a.c
                00001002     2                short

項番

説明

(1)

型名

構造体,および共用体の型名を出力します。

(2)

サイズ

構造体,および共用体のサイズを出力します。

(3)

メンバ名

構造体,および共用体のメンバ名を出力します。

(4)

メンバのアドレス

構造体,および共用体のメンバのアドレスを出力します。

(5)

メンバのサイズ

構造体,および共用体のメンバのサイズを出力します。

ビット・フィールドの場合も,構造体,および共用体のメンバの型サイズを出力します。

(6)

メンバの型名

構造体,および共用体のメンバの型名を出力します。

ビット・フィールドの場合も,構造体,および共用体のメンバの型名を出力します。

ポインタ型の場合は以下のように出力します。

[pointer] : __near/__farの指定がない場合

[near pointer] : nearポインタと指定されている場合

[far pointer] : farポインタと指定されている場合