Symbols

An object file contains a symbol table that stores information about symbols in the object file. The linker uses this table when it performs relocation.

An object file symbol is a named 48-bit integer value, usually representing an address. A symbol can represent such things as the starting address of a function, variable, section, or an absolute integer (such as the size of the stack).

Absolute symbols are symbols that have a numeric value. They may be constants. To the linker, such symbols are unsigned values, but the integer may be treated as signed or unsigned depending on how it is used. The range of legal values for an absolute integer is 0 to 2^48-1 for unsigned treatment and -2^47 to 2^47-1 for signed treatment.