Contents|Index|Previous|Next
Evaluation
The linker uses “lazy evaluation” for expressions; it only calculates an
expression when absolutely necessary. The linker needs the value of the start
address, and the lengths of memory regions, in order to do any linking at all; these
values are computed as soon as possible when the linker reads in the command
file. However, other values (such as symbol values) are not known or needed until
after storage allocation. Such values are evaluated later, when other
information (such as the sizes of output sections) is available for use in the symbol
assignment expression.