Changeset 2e5c4b9 in clfs-embedded for BOOK/cross-tools/arm


Ignore:
Timestamp:
Sep 18, 2012, 5:19:15 AM (12 years ago)
Author:
Andrew Bradford <andrew@…>
Branches:
master
Children:
c31ae75
Parents:
8ffc08dd
Message:

cross-tools/arm/abi: Provide recommendations on ABI

ABI selection for ARM is often confusing and the -support list often
has people reporting that they have difficulty selecting the best ABI
for their board.

Add some clarification and recommendations. Move aapcs-linux and
apcs-gnu to the top of the table as those are really the only two
choices that should be used.

Signed-off-by: Andrew Bradford <andrew@…>

File:
1 edited

Legend:

Unmodified
Added
Removed
  • BOOK/cross-tools/arm/abi.xml

    r8ffc08dd r2e5c4b9  
    1313  <para os="a">On the ARM architecture, there are two major ABI types to choose
    1414  from: EABI and OABI.  There is also a Thumb ABI and an Intel IWMMX specific
    15   ABI.</para>
     15  ABI but these are generally not recommended for most uses.</para>
    1616
    1717  <para os="b">The EABI (Embedded ABI) is newer and supports additional
     
    1919  but is only compatible with ARMv4t and newer cores.  The EABI has
    2020  sub-ABIs of: aapcs-linux and aapcs.  aapcs-linux has standard Linux 4 byte
    21   enums while aapcs has variable length enums.</para>
     21  enums while aapcs has variable length enums.  aapcs-linux is recommended over
     22  aapcs.</para>
    2223
    2324  <para os="c">The OABI (old ABI) is called apcs-gnu and supports ARMv4 and
    24   older cores.</para>
     25  older cores.  Generally the OABI is not used by modern ARM processors.</para>
    2526
    2627  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     
    5657      <tbody>
    5758        <row>
     59          <entry>aapcs-linux</entry>
     60          <entry>aapcs-linux</entry>
     61          <entry>Recommended for EABI. Standard Linux 32 bit (int) enums</entry>
     62        </row>
     63        <row>
    5864          <entry>apcs-gnu</entry>
    5965          <entry>apcs-gnu</entry>
    60           <entry>OABI</entry>
     66          <entry>Recommended for OABI</entry>
    6167        </row>
    6268        <row>
     
    6975          <entry>aapcs</entry>
    7076          <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>
    7677        </row>
    7778        <row>
Note: See TracChangeset for help on using the changeset viewer.