6.2 Special Symbol

The optimizing linker generates reserved symbols set to the values of the start addresses of each output section, and the first address beyond the end of each output section. If the user defines a symbol with the same name as one of these reserved symbols, then the optimizing linker will use the defined symbol, and will not generate its own.

 

The following two types of symbols are used as the name of the reserved symbol with the value of the start address of a section.

-

Symbol with the string "__s" preceding the name of the output section

-

Symbol with characters "@" and "." in the name of the output section replaced with "_" and the string "__S" added to the beginning [V1.06.00 or later]

 

The following two types of symbols are used as the name of the reserved symbol with the value of the first address after the end of a section.

-

Symbol with the string "__e" preceding the name of the output section

-

Symbol with characters "@" and "." in the name of the output section replaced with "_" and the string "__E" added to the beginning [V1.06.00 or later]

 

Below are shown the reserved sections and the special symbols corresponding to those sections.

Table 6.1

Special Symbol for Reserved Section

Reserved Section

Special Symbol for Reserved Section

.text

__s.text, __e.text

__S_text,__E_text

.bss

__s.bss, __e.bss

__S_bss,__E_bss

.zbss

__s.zbss, __e.zbss

__S_zbss,__E_zbss

.zbss23

__s.zbss23, __e.zbss23

__S_zbss23,__E_zbss23

.ebss

__s.ebss, __e.ebss

__S_ebss,__E_ebss

.ebss23

__s.ebss23, __e.ebss23

__S_ebss23,__E_ebss23

.tbss4

__s.tbss4, __e.tbss4

__S_tbss4,__E_tbss4

.tbss5

__s.tbss5, __e.tbss5

__S_tbss5,__ E_tbss5

.tbss7

__s.tbss7, __e.tbss7

__ S_tbss7,__ E_tbss7

.tbss8

__s.tbss8, __e.tbss8

__ S_tbss8,__ E_tbss8

.sbss

__s.sbss, __e.sbss

__ S_sbss,__ E_sbss

.sbss23

__s.sbss23, __e.sbss23

__ S_sbss23,__ E_sbss23

.data

__s.data, __e.data

__ S_data,__ E_data

.zdata

__s.zdata, __e.zdata

__ S_zdata,__ E_zdata

.zdata23

__s.zdata23, __e.zdata23

__ S_zdata23,__ E_zdata23

.edata

__s.edata, __e.edata

__ S_edata,__ E_edata

.edata23

__s.edata23, __e.edata23

__ S_edata23,__ E_edata23

.tdata

__s.tdata, __e.tdata

__ S_tdata,__ E_tdata

.tdata4

__s.tdata4, __e.tdata4

__ S_tdata4,__ E_tdata4

.tdata5

__s.tdata5, __e.tdata5

__ S_tdata5,__ E_tdata5

.tdata7

__s.tdata7, __e.tdata7

__ S_tdata7,__ E_tdata7

.tdata8

__s.tdata8, __e.tdata8

__ S_tdata8,__ E_tdata8

.sdata

__s.sdata, __e.sdata

__ S_sdata,__ E_sdata

.sdata23

__s.sdata23, __e.sdata23

__ S_sdata23,__ E_sdata23

.const

__s.const, __e.const

__ S_const,__ E_const

.zconst

__s.zconst, __e.zconst

__ S_zconst,__ E_zconst

.zconst23

__s.zconst23, __e.zconst23

__ S_zconst23,__E_zconst23

Caution

Only the symbols in the table for which there is a section in the post-linking executable file are generated.