3.2.7 Symbol information

When the -show=symbol option is specified, the external defined symbol or static internal defined symbol address, size, type, and whether optimization is applied are output in the order of address.

When the -show=reference option is specified, the reference count of each symbol is also output.

The output example of the symbol information is shown below.

*** 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

Number

Description

(1)

Section name

The name of the section is output.

(2)

File name

The file name is output.

(3)

Start address

The start address of the corresponding section included in the file shown in (2) is output.

This is expressed in a hexadecimal number.

(4)

End address

The end address of the corresponding section included in the file shown in (2) is output.

This is expressed in a hexadecimal number.

(5)

Section size

The size of the corresponding section included in the file shown in (2) is output (in byte units).

This is expressed in a hexadecimal number.

(6)

Symbol name

The symbol name is output.

(7)

Symbol address

The symbol address is output.

This is expressed in a hexadecimal number.

(8)

Symbol size

The symbol size is output (in byte units).

This is expressed in a hexadecimal number.

(9)

Symbol type

The data type and declaration type are output.

-

Data type

func: Function name

data: Variable name

entry: Entry function name

none: Undefined (label, assembler symbol)

-

Declaration type

g: External definition

l: Internal definition

(10)

Reference count of symbol

The reference count of the symbol is output.

This is expressed in a hexadecimal number.

This item is output only when the -show=reference option is specified.

When the reference count of the symbol is not output, "*" is output.

(11)

Whether optimization is applied

Whether optimization is applied is output.

ch: Symbol changed by optimization

cr: Symbol generated by optimization

mv: Symbol moved by optimization

 

When the -show=struct option is specified, the addresses for the structure and union members that are defined in the source file for which the -g option was specified at compilation are output.

The output example of the symbol information is shown below.

*** 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

Number

Description

(1)

Type name

The type name of the structure or union is output.

(2)

Size

The size of the structure or union is output.

(3)

Name of member

The names of the members of the structure or union are output.

(4)

Address of member

The addresses of the members of the structure or union are output.

(5)

Size of member

The sizes of the members of the structure or union are output.

For a bit field, the type size of the member of the structure or union is output.

(6)

Type name of member

The type names of the members of the structure or union are output.

For a bit field, the type name of the member of the structure or union is output.

For the pointer type, the following is output.

[pointer]: When __near or __far is not specified

[near pointer]: When the pointer is specified to be a near pointer

[far pointer]: When the pointer is specified to be a far pointer