source: clfs-embedded/BOOK/cross-tools/arm/abi.xml@ a6b5527

Last change on this file since a6b5527 was a6b5527, checked in by Andrew Bradford <bradfa@…>, 14 years ago

Removed -mabi='s from BUILD

We're going to set the ABI when building GCC, don't need to use
the -mabi= part for BUILD.

  • Property mode set to 100644
File size: 2.5 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6]>
7
8<sect1 id="ch-system-abi">
9 <?dbhtml filename="abi.html"?>
10
11 <title>ABI Variables</title>
12
13 <para os="a">On the ARM architecture, there are two major ABI types to choose
14 from: EABI and OABI. There is also a Thumb ABI and an Intel IWMMX specific
15 ABI.</para>
16
17 <para os="b">The EABI (Embedded ABI) is newer and supports additional
18 features, faster software floating point operations, and Thumb interworking,
19 but is only compatible with ARMv4t and newer cores. The EABI has
20 sub-ABIs of: aapcs-linux and aapcs. aapcs-linux has standard Linux 4 byte
21 enums while aapcs has variable length enums.</para>
22
23 <para os="c">The OABI (old ABI) is called apcs-gnu and supports ARMv4 and
24 older cores.</para>
25
26 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
27 href="../x86/abi.xml"
28 xpointer="xpointer(//*[@os='a'])"/>
29
30 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
31 href="../x86/abi.xml"
32 xpointer="xpointer(//*[@os='b'])"/>
33
34 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
35 href="../x86/abi.xml"
36 xpointer="xpointer(//*[@os='c'])"/>
37
38 <table>
39 <title>List of Build Variables</title>
40 <?dbfo table-width="3in" ?>
41
42 <tgroup cols="2">
43
44 <colspec colnum="1" colwidth="1.5in" colname="ABI to Select"/>
45 <colspec colnum="2" colwidth="1.5in" colname="Variable Value"/>
46 <colspec colnum="3" colwidth="2in" colname="Note"/>
47
48 <thead>
49 <row>
50 <entry>ABI</entry>
51 <entry>BUILD=Value</entry>
52 <entry>Note</entry>
53 </row>
54 </thead>
55
56 <tbody>
57 <row>
58 <entry>apcs-gnu</entry>
59 <entry>apcs-gnu</entry>
60 <entry>Legacy ABI, arm4 and older</entry>
61 </row>
62 <row>
63 <entry>atpcs</entry>
64 <entry>atpcs</entry>
65 <entry>Thumb ABI</entry>
66 </row>
67 <row>
68 <entry>aapcs</entry>
69 <entry>aapcs</entry>
70 <entry>EABI w/ variable size enums</entry>
71 </row>
72 <row>
73 <entry>aapcs-linux</entry>
74 <entry>aapcs-linux</entry>
75 <entry>EABI w/ standard Linux 32 bit (int) enums</entry>
76 </row>
77 <row>
78 <entry>iwmmxt</entry>
79 <entry>iwmmxt</entry>
80 <entry>Supports Intel XScale MMX extensions</entry>
81 </row>
82 </tbody>
83
84 </tgroup>
85
86 </table>
87
88</sect1>
89
Note: See TracBrowser for help on using the repository browser.