ARM Compiler toolchain Using the Linker - ARM Information Center
ARM Compiler toolchain Using the Linker - ARM Information Center
ARM Compiler toolchain Using the Linker - ARM Information Center
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
7.5 Load$$ execution region symbols<br />
Accessing and managing symbols with armlink<br />
The linker performs an extra address assignment and relocation pass for relocations that refer to<br />
load addresses after RW compression. This delayed relocation permits more information about<br />
load addresses to be used in linker-defined symbols.<br />
Note<br />
Load$$region_name symbols apply only to execution regions, and Load$$LR$$load_region_name<br />
symbols apply only to load regions.<br />
The following table shows <strong>the</strong> symbols that <strong>the</strong> linker generates for every Load$$ execution<br />
region present in <strong>the</strong> image. All <strong>the</strong> symbols refer to execution addresses after <strong>the</strong> C library is<br />
initialized.<br />
Symbol Description<br />
Load$$region_name$$Base Load address of <strong>the</strong> region.<br />
Load$$region_name$$Length Region length in bytes.<br />
All symbols in this table refer to load addresses before <strong>the</strong> C library is initialized. Be aware of<br />
<strong>the</strong> following:<br />
• The symbols are absolute because section-relative symbols can only have execution<br />
addresses.<br />
• The symbols take into account RW compression.<br />
Table 7-2 Load$$ execution region symbols<br />
Load$$region_name$$Limit Address of <strong>the</strong> byte beyond <strong>the</strong> end of <strong>the</strong> execution<br />
region.<br />
Load$$region_name$$RO$$Base Address of <strong>the</strong> RO output section in this execution<br />
region.<br />
Load$$region_name$$RO$$Length Length of <strong>the</strong> RO output section in bytes.<br />
Load$$region_name$$RO$$Limit Address of <strong>the</strong> byte beyond <strong>the</strong> end of <strong>the</strong> RO output<br />
section in <strong>the</strong> execution region.<br />
Load$$region_name$$RW$$Base Address of <strong>the</strong> RW output section in this execution<br />
region.<br />
Load$$region_name$$RW$$Length Length of <strong>the</strong> RW output section in bytes.<br />
Load$$region_name$$RW$$Limit Address of <strong>the</strong> byte beyond <strong>the</strong> end of <strong>the</strong> RW output<br />
section in <strong>the</strong> execution region.<br />
Load$$region_name$$ZI$$Base Load address of <strong>the</strong> ZI output section in this execution<br />
region.<br />
Load$$region_name$$ZI$$Length Load length of <strong>the</strong> ZI output section in bytes.<br />
The Load Length of ZI is zero unless region_name has<br />
<strong>the</strong> ZEROPAD scatter-loading keyword set. If ZEROPAD is<br />
set <strong>the</strong>n:<br />
Load Length = Image$$region_name$$ZI$$Length<br />
Load$$region_name$$ZI$$Limit Load address of <strong>the</strong> byte beyond <strong>the</strong> end of <strong>the</strong> ZI<br />
output section in <strong>the</strong> execution region.<br />
<strong>ARM</strong> DUI 0474C Copyright © 2010-2011 <strong>ARM</strong>. All rights reserved. 7-7<br />
ID080411 Non-Confidential