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.

Contents<br />

9.5 Recommendations for using ld scripts with armlink ...................................................... 9-7<br />

9.6 Default GNU ld scripts used by armlink ........................................................................ 9-8<br />

9.7 Example GNU ld script for linking an <strong>ARM</strong> Linux executable ..................................... 9-12<br />

9.8 Example GNU ld script for linking an <strong>ARM</strong> Linux shared object ................................. 9-14<br />

9.9 Example GNU ld script for linking ld --ldpartial object ................................................. 9-16<br />

Chapter 10 BPABI and SysV shared libraries and executables<br />

10.1 About <strong>the</strong> Base Platform Application Binary Interface (BPABI) .................................. 10-3<br />

10.2 Platforms supported by <strong>the</strong> BPABI ............................................................................. 10-4<br />

10.3 Concepts common to all BPABI models ..................................................................... 10-5<br />

10.4 About importing and exporting symbols for BPABI models ........................................ 10-6<br />

10.5 Symbol visibility for BPABI models ............................................................................. 10-7<br />

10.6 Automatic import and export for BPABI models ......................................................... 10-9<br />

10.7 Manual import and export for BPABI models ............................................................ 10-10<br />

10.8 Symbol versioning for BPABI models ....................................................................... 10-11<br />

10.9 RW compression for BPABI models ......................................................................... 10-12<br />

10.10 <strong>Linker</strong> options for SysV models ................................................................................ 10-13<br />

10.11 SysV memory model ................................................................................................. 10-14<br />

10.12 Automatic dynamic symbol table rules in <strong>the</strong> SysV memory model ......................... 10-15<br />

10.13 Addressing modes in <strong>the</strong> SysV memory model ........................................................ 10-17<br />

10.14 Thread local storage in <strong>the</strong> SysV memory model ..................................................... 10-18<br />

10.15 Related linker command-line options for <strong>the</strong> SysV memory model .......................... 10-19<br />

10.16 Changes to command-line defaults with <strong>the</strong> SysV memory model ........................... 10-20<br />

10.17 <strong>Linker</strong> options for bare metal and DLL-like models .................................................. 10-21<br />

10.18 Bare metal and DLL-like memory model .................................................................. 10-22<br />

10.19 Mandatory symbol versioning in <strong>the</strong> BPABI DLL-like model ..................................... 10-23<br />

10.20 Automatic dynamic symbol table rules in <strong>the</strong> BPABI DLL-like model ....................... 10-24<br />

10.21 Addressing modes in <strong>the</strong> BPABI DLL-like model ...................................................... 10-25<br />

10.22 C++ initialization in <strong>the</strong> BPABI DLL-like model ......................................................... 10-26<br />

10.23 About symbol versioning ........................................................................................... 10-27<br />

10.24 Symbol versioning script file ..................................................................................... 10-28<br />

10.25 Example of creating versioned symbols ................................................................... 10-29<br />

10.26 About embedded symbols ........................................................................................ 10-30<br />

10.27 <strong>Linker</strong> options for enabling implicit symbol versioning .............................................. 10-31<br />

10.28 Related linker command-line options for <strong>the</strong> BPABI DLL-like model ........................ 10-32<br />

Chapter 11 Features of <strong>the</strong> Base Platform linking model<br />

11.1 Restrictions on <strong>the</strong> use of scatter files with <strong>the</strong> Base Platform model ........................ 11-2<br />

11.2 Example scatter file for <strong>the</strong> Base Platform linking model ............................................ 11-5<br />

11.3 Placement of PLT sequences with <strong>the</strong> Base Platform model ..................................... 11-7<br />

Appendix A Revisions for <strong>Using</strong> <strong>the</strong> <strong>Linker</strong><br />

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

ID080411 Non-Confidential

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

Saved successfully!

Ooh no, something went wrong!