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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

4.19 Generation of position independent to absolute veneers<br />

4.19.1 See also<br />

Image structure and generation<br />

The normal call instruction encodes <strong>the</strong> address of <strong>the</strong> target as an offset from <strong>the</strong> calling<br />

address. When calling from position independent (PI) code to absolute code <strong>the</strong> offset cannot be<br />

calculated at link time, so <strong>the</strong> linker must insert a long-branch veneer.<br />

The generation of PI to absolute veneers can be controlled using <strong>the</strong> --piveneer option, that is<br />

set by default. When this option is turned off using --no_piveneer, <strong>the</strong> linker generates an error<br />

when a call from PI code to absolute code is detected.<br />

Concepts<br />

• Overview of veneers on page 4-26.<br />

Reference<br />

<strong>Linker</strong> Reference:<br />

• --max_veneer_passess=value on page 2-110<br />

• --piveneer, --no_piveneer on page 2-120.<br />

<strong>ARM</strong> DUI 0474C Copyright © 2010-2011 <strong>ARM</strong>. All rights reserved. 4-29<br />

ID080411 Non-Confidential

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

Saved successfully!

Ooh no, something went wrong!