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.

10.8 Symbol versioning for BPABI models<br />

10.8.1 See also<br />

BPABI and SysV shared libraries and executables<br />

Symbol versioning provides a way to tightly control <strong>the</strong> interface of a shared library.<br />

When a symbol is imported from a shared library that has versioned symbols, armlink binds to<br />

<strong>the</strong> most recent (default) version of <strong>the</strong> symbol. At load or run-time when <strong>the</strong> platform OS<br />

resolves <strong>the</strong> symbol version, it always resolves to <strong>the</strong> version selected by armlink, even if <strong>the</strong>re<br />

is a more recent version available. This process is automatic.<br />

When a symbol is exported from an executable or a shared library, it can be given a version.<br />

armlink supports implicit symbol versioning where <strong>the</strong> version is derived from <strong>the</strong> shared object<br />

name (set by --soname), or explicit symbol versioning where a script is used to precisely define<br />

<strong>the</strong> versions.<br />

Concepts<br />

• <strong>Linker</strong> options for SysV models on page 10-13<br />

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

Reference<br />

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

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

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

• SysV ELF specification.<br />

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

ID080411 Non-Confidential

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

Saved successfully!

Ooh no, something went wrong!