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

Symbol value field

Symbol value field

The meaning of the value of a symbol depends on its storage class. This relationship is summarized in Table 7-21, ``Storage class and value''. 

Table 7-21 Storage class and value

 Storage Class   Meaning of Value
 ------------------------------------------------------------
 C_AUTO          stack offset in bytes
 C_EXT           relocatable address
 C_STAT          relocatable address
 C_REG           register number
 C_LABEL         relocatable address
 C_MOS           offset in bytes
 C_ARG           stack offset in bytes
 C_STRTAG        0
 C_MOU           0
 C_UNTAG         0
 C_TPDEF         0
 C_ENTAG         0
 C_MOE           enumeration value
 C_REGPARM       register number
 C_FIELD         bit displacement
 C_BLOCK         relocatable address
 C_FCN           relocatable address
 C_EOS           size
 C_FILE          (see text below)
 C_ALIAS         tag index
 C_HIDDEN        relocatable address
 C_WEAKEXT       relocatable address

If a symbol has storage class C_FILE, the value of that symbol equals the symbol table entry index of the next .file symbol. That is, the .file entries form a one-way linked list in the symbol table. If there are no more .file entries in the symbol table, the value of the symbol is the index of the first global symbol.

Relocatable symbols have a value equal to the virtual address of that symbol. When the section is relocated by the link editor, the value of these symbols changes.