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.2 Platforms supported by <strong>the</strong> BPABI<br />

10.2.1 <strong>Linker</strong> support for <strong>the</strong> BPABI<br />

10.2.2 <strong>Linker</strong> support for <strong>ARM</strong> Linux<br />

10.2.3 See also<br />

BPABI and SysV shared libraries and executables<br />

The Base Platform Application Binary Interface (BPABI) defines three platform models based<br />

on <strong>the</strong> type of shared library:<br />

Bare metal The bare metal model is designed for an offline dynamic loader or a simple<br />

module loader. References between modules are resolved by <strong>the</strong> loader directly<br />

without any additional support structures.<br />

DLL-like The dynamically linked library (DLL) like model sacrifices transparency between<br />

<strong>the</strong> dynamic and static library in return for better load and run-time efficiency.<br />

SysV The System V (SysV) model masks <strong>the</strong> differences between dynamic and static<br />

libraries. <strong>ARM</strong> Linux uses this format.<br />

The <strong>ARM</strong> linker supports all three BPABI models enabling you to link a collection of objects<br />

and libraries into a:<br />

• bare metal executable image<br />

• BPABI DLL or SysV shared object<br />

• BPABI or SysV executable file.<br />

The linker can generate SysV executables and shared libraries with all required data for <strong>ARM</strong><br />

Linux. However, you must specify o<strong>the</strong>r command-line options and libraries in addition to <strong>the</strong><br />

--shared or --sysv options.<br />

If all <strong>the</strong> correct input options and libraries are specified, you can use <strong>the</strong> ELF file without any<br />

post-processing.<br />

Tasks<br />

Building Linux Applications with <strong>the</strong> <strong>ARM</strong> ® <strong>Compiler</strong> <strong>toolchain</strong> and GNU Libraries:<br />

• Chapter 3 <strong>Using</strong> <strong>the</strong> <strong>ARM</strong> <strong>Compiler</strong> <strong>toolchain</strong> to build a Linux application or library.<br />

Concepts<br />

• About <strong>the</strong> Base Platform Application Binary Interface (BPABI) on page 10-3<br />

• Concepts common to all BPABI models on page 10-5.<br />

Reference<br />

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

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

• --shared on page 2-146<br />

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

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

ID080411 Non-Confidential

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

Saved successfully!

Ooh no, something went wrong!