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.

Linking models supported by armlink<br />

3.4 Base Platform Application Binary Interface (BPABI) linking model<br />

3.4.1 See also<br />

The Base Platform Application Binary Interface (BPABI) is a meta-standard for third parties to<br />

generate <strong>the</strong>ir own platform-specific image formats. This means that <strong>the</strong> BPABI model produces<br />

as much information as possible without focusing on any specific platform.<br />

Be aware of <strong>the</strong> following:<br />

• You cannot use scatter-loading. However, <strong>the</strong> Base Platform linking model is an extension<br />

to <strong>the</strong> BPABI model that supports scatter-loading.<br />

• The model assumes that shared objects cannot throw a C++ exception.<br />

• The default value of <strong>the</strong> --pltgot option is direct.<br />

• Symbol versioning must be used to ensure that all <strong>the</strong> required symbols are available at<br />

load time.<br />

To link with this model, use <strong>the</strong> --bpabi command-line option. O<strong>the</strong>r linker command-line<br />

options supported by this model are:<br />

• --dll<br />

• --force_so_throw, --no_force_so_throw<br />

• --pltgot=type<br />

• --ro_base=address<br />

• --rosplit<br />

• --rw_base=address<br />

• --rwpi.<br />

Concepts<br />

• Base Platform linking model on page 3-6<br />

• Concepts common to both BPABI and SysV linking models on page 3-9<br />

• About symbol versioning on page 10-27.<br />

Reference<br />

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

• --bpabi on page 2-24<br />

• --dll on page 2-49<br />

• --force_so_throw, --no_force_so_throw on page 2-73<br />

• --pltgot=type on page 2-121<br />

• --ro_base=address on page 2-135<br />

• --rosplit on page 2-137<br />

• --rw_base=address on page 2-139<br />

• --rwpi on page 2-140.<br />

O<strong>the</strong>r information<br />

• Base Platform ABI for <strong>the</strong> <strong>ARM</strong> Architecture,<br />

http://infocenter.arm.com/help/topic/com.arm.doc.ihi0037-/index.html.<br />

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

ID080411 Non-Confidential

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

Saved successfully!

Ooh no, something went wrong!