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