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.

3.7 Concepts common to both BPABI and SysV linking models<br />

3.7.1 Restrictions of <strong>the</strong> BPABI and SysV<br />

3.7.2 See also<br />

Linking models supported by armlink<br />

For both Base Platform Application Binary Interface (BPABI) and System V (SysV) linking<br />

models, images and shared objects usually run on an existing operating platform.<br />

There are many similarities between <strong>the</strong> BPABI and <strong>the</strong> SysV models. For example, both<br />

produce a program header that maps <strong>the</strong> exception tables. The main differences are in <strong>the</strong><br />

memory model, and in <strong>the</strong> Procedure Linkage Table (PLT) and Global Offset Table (GOT)<br />

structure, referred to collectively as PLTGOT. There are many options that are common to both<br />

models.<br />

Both <strong>the</strong> BPABI and SysV models have <strong>the</strong> following restrictions:<br />

• unused section elimination is turned off for shared libraries and DLLs<br />

• virtual function elimination is turned off<br />

• read write data compression is not permitted<br />

• scatter-loading is not permitted<br />

• __AT sections are not permitted.<br />

Note<br />

Scatter-loading is supported in <strong>the</strong> Base Platform linking model.<br />

Concepts<br />

• Base Platform Application Binary Interface (BPABI) linking model on page 3-5<br />

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

• SysV linking model on page 3-8.<br />

Reference<br />

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

• --base_platform on page 2-18<br />

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

• --dynamic_debug on page 2-50<br />

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

• --runpath=pathlist on page 2-138<br />

• --soname=name on page 2-151<br />

• --symver_script=file on page 2-167<br />

• --symver_soname on page 2-168<br />

• --sysv on page 2-170.<br />

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

ID080411 Non-Confidential

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

Saved successfully!

Ooh no, something went wrong!