698
Value
Contents|Index|Previous|Next
Value
The value of a symbol is (usually) 32 bits. For a symbol which labels a
location in the text, data, bss or absolute sections the value is the number of
addresses from the start of that section to the label. Naturally for text, data and
bss sections the value of a symbol changes as ld changes section base addresses during linking. Absolute symbols’ values do
not change during linking: that is why they are called absolute.
The value of an undefined symbol is treated in a special way. If it is 0 then
the symbol is not defined in this assembler source file, and
ld tries to determine its value from other files linked into the same program.
You make this kind of symbol simply by mentioning a symbol name without defining
it. A non-zero value represents a .comm common declaration. The value is how much common storage to reserve, in bytes
(addresses). The symbol refers to the first address of the allocated storage.
0