SPRUIG8J January 2018 – March 2024
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 things like the start address of a function, variable, section, or an absolute integer (such as the size of the stack).
Absolute symbols are symbols with a numeric value. They may be constants. To the linker, such symbols are unsigned, 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.