Difference between arm androideabi and eabi

5,462 views
Skip to first unread message

Seb

unread,
Dec 6, 2010, 12:03:48 PM12/6/10
to andro...@googlegroups.com
Hi all,

Can someone explain me what are the differences between ARM androideabi  and generic ARM eabi, if any ?
Thanks for your help

Seb

David Turner

unread,
Dec 6, 2010, 12:12:14 PM12/6/10
to andro...@googlegroups.com
There is no "generic eabi". "EABI" is a term used to define a family of ABIs, all very similar but with slight differences/options.

There are then concrete instances, like the "linux eabi" which specifies stuff like 32-bit enums, wchar_t of 32-bit plus a few other things which are all optional in the "EABI".

The "androideabi" moniker which is used in the new NDK toolchain (arm-linux-androideabi-4.4.3) comes from GCC conventions for the ARM platform (this toolchain is much closer to the upstream GCC than previous ones).

Essentially, it means an ARM abi, following the linux EABI conventions, built against the Android-specific C library
(existing alternatives are arm-linux-gnueabi and arm-linux-uclibceabi, if I remember correctly).


--
You received this message because you are subscribed to the Google Groups "android-ndk" group.
To post to this group, send email to andro...@googlegroups.com.
To unsubscribe from this group, send email to android-ndk...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/android-ndk?hl=en.

Seb

unread,
Dec 7, 2010, 8:30:49 AM12/7/10
to andro...@googlegroups.com
Hi David,

Thanks for the explanations, is there any document that give more insight about android eabi.
Can you confirm that with respect to types, struct alignment, parameter passing there is no difference between the different flavors of eabi's.
Thanks for your answers

--Seb

2010/12/6 David Turner <di...@android.com>

David Turner

unread,
Dec 7, 2010, 8:38:29 AM12/7/10
to andro...@googlegroups.com
On Tue, Dec 7, 2010 at 2:30 PM, Seb <babsl...@gmail.com> wrote:
Hi David,

Thanks for the explanations, is there any document that give more insight about android eabi.

Yes, docs/CPU-ARCH-ABIS.html
 
Can you confirm that with respect to types, struct alignment, parameter passing there is no difference between the different flavors of eabi's.

I don't know which "flavors" you're referring to, could you be more specific?

Seb

unread,
Dec 7, 2010, 10:55:02 AM12/7/10
to andro...@googlegroups.com
Hi David,

Sorry, I may not be very clear. ABI usually define conventions like structure alignment constraints, type size/alignment, parameter passing conventions, callee saved registers etc.
When I saw 'androideabi' in the naming of gcc cross compiling toolchain, I was wondering if this toolchain could differ from previously named 'eabi' toolchain for structure alignment, type size, etc.

--Seb

2010/12/7 David Turner <di...@android.com>

Doug Kwan (關振德)

unread,
Dec 7, 2010, 2:51:48 PM12/7/10
to andro...@googlegroups.com
Android EABI is based on EABI. There should be no difference in type
size, alignment and etc with the previous EABI based Android
tool-chain. We expect old binaries compiled by the older EABI
toolchain running on new Android devices. The naming done so that we
can localize Android specific change in the tool-chain. Of my head,
one of the differences is that we fixed enums to be 32-bit, whereas
that is undefined in EABI.

-Doug

Reply all
Reply to author
Forward
0 new messages