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
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