Common Object File Format (COFF)

Symbol names

The first 8 bytes in the symbol table entry are a union of a character array and two longs. If the symbol name is eight characters or less, the (null-padded) symbol name is stored there. If the symbol name is longer than eight characters, then the entire symbol name is stored in the string table. In this case, the 8 bytes contain two long integers, the first is zero, and the second is the offset (relative to the beginning of the string table) of the name in the string table. Since there can be no symbols with a null name, the zeroes on the first 4 bytes serve to distinguish a symbol table entry with an offset from one with a name in the first 8 bytes as shown in ``Name field''.

Name field

Bytes Declaration Name Description
0-7 char n_name 8-character null-padded symbol name
0-3 long n_zeroes Zero in this field indicates the name is in the string table
4-7 long n_offset Offset of the name in the string table

Special symbols generated by the C compilation system are discussed in ``Special symbols''.

Next topic: Storage classes
Previous topic: Symbol table entry format

© 2003 Caldera International, Inc. All rights reserved.
SCO OpenServer Release 5.0.7 -- 11 February 2003