06.02.2013 Views

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

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!