3.2.6 シンボル情報

-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
                00000000     00000023         24
  _main
                00000000            0         func ,g            0
  _func_01
                00000018            0         func ,g            0
SECTION=.bss
FILE=sample.obj
                fe600004     fe60000b         8
  _gvall
                fe600004            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=(1)
FILE=(2)                                START     END      SIZE
                                         (3)      (4)       (5)
  SYMBOL                                  ADDR      SIZE     INFO   COUNTS OPT
   (6)                                    (7)       (8)      (9)     (10)  (11)
    STRUCT                                        SIZE
     (12)                                         (13)
      MEMBER                              ADDR      SIZE     INFO
       (14)                               (15)      (16)     (17)
SECTION=.bss
FILE=C:\Users\b1501079\Desktop\a.obj
                                   00001000 00001007         8
 _st
                                   00001000        8 data ,g      0
   struct {
                                                   8
      _st.mem1
                                   00001000        4 int
      _st.mem2
                                   00001004        2 short
      _st.stmem
                                   00001006        2
   struct {
                                                   2
      _st.stmem.mem3
                                   00001006        1 char
      _st.stmem.mem4
                                   00001007        1 char
}
}

項番

説明

(12)

構造体の場合はstruct,共用体の場合はunion

(13)

構造体または共用体全体のサイズ

(14)

メンバ名をシンボル名に“.”(ドット)で連結して表示

(15)

メンバアドレスを表示

(16)

メンバのサイズを表示

(17)

メンバの型を表示