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.

BPABI and SysV shared libraries and executables<br />

10.4 About importing and exporting symbols for BPABI models<br />

10.4.1 See also<br />

In traditional linking, all symbols must be defined at link time for linking into a single<br />

executable file containing all <strong>the</strong> required code and data. In platforms that support dynamic<br />

linking, symbol binding can be delayed to load-time or in some cases, run-time. Therefore, <strong>the</strong><br />

application can be split into a number of modules, where a module is ei<strong>the</strong>r an executable or a<br />

shared library. Any symbols that are defined in modules o<strong>the</strong>r than <strong>the</strong> current module are<br />

placed in <strong>the</strong> dynamic symbol table. Any functions that are suitable for dynamically linking to<br />

at load or runtime are also listed in <strong>the</strong> dynamic symbol table.<br />

There are two ways to control <strong>the</strong> contents of <strong>the</strong> dynamic symbol table:<br />

• automatic rules that infer <strong>the</strong> contents from <strong>the</strong> ELF symbol visibility property<br />

• manual directives that are present in a steering file.<br />

These rules are slightly different for <strong>the</strong> SysV model.<br />

Concepts<br />

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

• Automatic dynamic symbol table rules in <strong>the</strong> SysV memory model on page 10-15<br />

• Addressing modes in <strong>the</strong> SysV memory model on page 10-17<br />

• Thread local storage in <strong>the</strong> SysV memory model on page 10-18<br />

• Related linker command-line options for <strong>the</strong> SysV memory model on page 10-19<br />

• <strong>Linker</strong> options for bare metal and DLL-like models on page 10-21<br />

• About symbol versioning on page 10-27.<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-6<br />

ID080411 Non-Confidential

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

Saved successfully!

Ooh no, something went wrong!