. = 0;
.text :
{
- /* The value returned by the ORIGIN operator is a constant.
- However it is being assigned to a symbol declared within
- a section. Therefore the symbol is section-relative and
- its value will include the offset of that section from
- the start of memory. ie the declaration:
- text_start = ORIGIN (TEXTMEM);
- here will result in text_start having a value of 0x200.
- Hence we need to subtract the absolute value of the
- location counter at this point in order to give text_start
- a value that is truely absolute, and which coincidentally
- will allow the tests in script.exp to work. */
-
- text_start = ORIGIN(TEXTMEM) - ABSOLUTE (.);
+ text_start = ORIGIN (TEXTMEM);
*(.text)
*(.pr)
text_end = .;
data_end = .;
} >DATAMEM
- fred = ORIGIN(DATAMEM) + LENGTH(DATAMEM);
+ fred = ORIGIN(DATAMEM) + LENGTH(DATAMEM);
+ tred = ORIGIN(TEXTMEM) + LENGTH(TEXTMEM);
}