arm-linux-androideabi/arm-eabi/arm-unknow-linux-gnueabi
Yann E. MORIN
yann.morin.1998@free.fr
Mon Jun 17 22:15:00 GMT 2013
Arnaud, All,
On 2013-06-05 12:07 -0700, gabx spake thusly:
> I build Android ROM from AOSP for mobile device, LG google nexus 4
> (armv7-a).
> With android come several prebuilts/gcc/linux-86/arm toolchains named
> "arm-eabi-4.7" and "arm-linux-androideabi-4.7".
>
> I build my own toolchain which name is "arm-cortexa9_neon-linux-gnueabi"
> (cortex-a9) as CPU & TUNE and neon as FPU.
>
> I am a little confused about all these different names. The out folders from
> my built toolchaine are roughly similar to the androideabi prebuilt ones. Is
> the "gnueabi" and "androideabi" only a name specification (I understand
> android is not gnu) and a licence difference with same binaries/lib, or is
> there a real difference for the built outputs ?
> What about the arm-eabi ? Here again folders "look" quite similar to my
> toolchain, but why arm-eabi AND
> arm-linux-androideabi ?
Those names are what is called a tuple.
A tuple defines a complete system. It is split in three parts, separated
by hyphens (dashes):
- arch-vendor-abi
- arch-vendor-os-abi
For both tuple types:
- arch, the hardware architecture: arm, armeb, armv6, i686, mips,
powerpc, lapha...
- vendor, identifies the vendor (or provider) of the toolchain, and is
almost free form (but shall contain neither space nor dash, obviously),
usualy something like: unknown, pc
For the three-part tuples:
- abi, defines the ABI of the system: elf, eabi...
For the four-part tuples:
- os, which defines the /kernel/ of the system. There are not many
supoprted, the most common one being: linux
- abi, the ABI of the system, the most comon being: gnu, gnueabi,
uclibc, uclibcgnueabi, androideabi...
The three-part tuples are mostly used for bare-metal, that is system
with no kernels at all (eg. bootloaders, or special applications running
directly on the CPU without a kernel).
Currently, crosstool-NG does not support generating toolchains targeting
Android. With some trickery, you could turn a arm-unknown-linux-gnueabi,
or an arm-unknown-linux-uclibcgnueabi, or an arm-ubknown-eabi to
generate code for Android, but it's not really easy.
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
--
For unsubscribe information see http://sourceware.org/lists.html#faq
More information about the crossgcc
mailing list