| 
 |  | 
Because of symbolic debugging requirements, the order of symbols in the symbol table is very important. Symbols appear in the sequence shown in ``COFF symbol table''.
COFF symbol table
| filename 1 | 
| function 1 | 
| C_WEAKEXT aliases | 
| for function 1 | 
| function 1b (alias) | 
| . . . | 
| local symbols for function 1 | 
| function 2 | 
| C_WEAKEXT aliases | 
| for function 2 | 
| . . . | 
| local symbols for function 2 | 
| . . . | 
| statics | 
| . . . | 
| filename 2 | 
| function 1 | 
| C_WEAKEXT aliases | 
| for function 1 | 
| . . . | 
| local symbols for function 1 | 
| . . . | 
| statics | 
| . . . | 
| defined global symbols | 
| undefined global symbols | 
The word ``statics'' in
``COFF symbol table''
means symbols defined
with the C language storage class static
outside any function.
The symbol table consists of at least one fixed-length entry per symbol
with some symbols followed by
auxiliary entries of the same size.
The entry for each symbol is a
structure that holds
the value, the type,
and other information.