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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

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!