[Clfs-support] Proper ABI selection for the ARMv4t platform

Andrew Bradford bradfa at gmail.com
Tue Apr 5 07:29:06 PDT 2011


On Tue, Apr 5, 2011 at 9:05 AM, Angel Ivan Castell Rovira
<al004140 at gmail.com> wrote:
> First, I am not sure if the ARM920T (v4t) is compatible with an EABI
> toolchain. Based on table 6.2 of the CLFS book, it seems version that ARM
> version 4 must be OABI, but based on section 6.3 (ABI variables), book says
> EABI is compatible with ARMv4t and newer cores. I selected OABI, but now I'm
> not sure if that was the best choice.

Table 6.2 is just examples, nothing more.  It's not meant to imply
that some columns force you to do things in other columns, but rather
that if you have a system with a particular processor core, and want
to use a certain endianess (some arm cores can be either big or little
endian), and are using X ABI, you pick a target triplet such as those
offered as examples.  The listing is not complete, there are tons of
possible target triplets just for arm.

Section 6.3 is correct, the EABI supports processors of armv4t vintage
and above.  I believe armv4t (and possibly other arm cores) are
compatible with both the EABI and the OABI.  Just don't mix the two,
it won't work.  Pick one ABI and stick to it.  This is why ABI
selection (and everything else you choose) happens before creating the
cross toolchain, so you don't accidentally compile your system with
mixed ABIs (or other mixed things).

Sorry for the confusion.

If you have any recommendations on a better way to display table 6.2,
please let me know.

Thanks,
Andrew



More information about the Clfs-support mailing list