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.