Developer's Topics
Chapter 7, Common Object File Format (COFF)

Special symbols

Special symbols

The symbol table contains some special symbols that are generated by as and other tools. These symbols are given in Table 7-12, ``Special symbols in the symbol table''.



Table 7-12 Special symbols in the symbol table

 Symbol      Meaning
 --------------------------------------------------------------
 .file       filename
 .text       address of .text section
 .data       address of .data section
 .bss        address of .bss section
 .bb         address of start of inner block
 .eb         address of end of inner block
 .bf         address of start of function
 .ef         address of end of function
 .target     pointer to the structure or union
             returned by a function
 .xfake      dummy tag name for structure,
             union, or enumeration
 .eos        end of members of structure, union, or enumeration
 etext       next available address after the end
             of the output section .text 
 edata       next available address after the end
             of the output section .data 
 end         next available address after the end
             of the output section .bss 

Six of these special symbols occur in pairs. The .bb and .eb symbols indicate the boundaries of inner blocks; a .bf and .ef pair brackets each function. An .xfake and .eos pair names and defines the limit of structures, unions, and enumerations that were not named. The .eos symbol also appears after named structures, unions, and enumerations.

When a structure, union, or enumeration has no tag name, the compiler invents a name to be used in the symbol table. The name chosen for the symbol table is .xfake, where x is an integer. If there are three unnamed structures, unions, or enumerations in the source, their tag names are .0fake, .1fake, and .2fake. Each of the special symbols has different information stored in the symbol table entry as well as the auxiliary entries.