[ARM] EABI and the default to short enums

Sebastian Huber sebastian.huber@embedded-brains.de
Wed Feb 15 09:30:00 GMT 2012


On 02/15/2012 07:07 AM, Ralf Corsepius wrote:
> On 02/14/2012 06:51 PM, Ian Lance Taylor wrote:
>> Sebastian Huber<sebastian.huber@embedded-brains.de> writes:
>>
>>> On 02/14/2012 04:05 PM, Ian Lance Taylor wrote:
>>>> Sebastian Huber<sebastian.huber@embedded-brains.de> writes:
[...]
>> I would recommend that RTEMS change to the ARM EABI if possible. That
>> is the current standard ABI on ARM platforms.
> That's what Sebastian is trying to do.

Yes, exactly.

>
>> It's true that the ARM
>> EABI is different from the previous ABIs in some respect. I believe
>> that would mean using ARM_ABI_AAPCS.

I mean the ABI described in "Procedure Call Standard for the ARM Architecture" 
document number "ARM IHI 0042D, current through ABI release 2.08".  In GCC this 
is ARM_ABI_AAPCS and ARM_ABI_AAPCS_LINUX?

>>
>> However, if you want to retain GNU/Linux compatibility, then using
>> ARM_ABI_AAPCS_LINUX is likely to be correct.
> So you would recommend RTEMS to throw away ARM_ABI_AAPCS and to use
> ARM_ABI_AAPCS_LINUX, which as far as I see is a Linux-specific/proprietaty
> deviation from EABI?
>
> To me, this seems "hacking" - I am actually leaning towards considering the
> issues Sebastian mentions to be portability bugs in the non-GCC components he
> faces this issue with.

This is not hacking.  It is making a choice between two alternatives described 
in the document issued by ARM.  See also section 7.1.3 "Enumerated Types"

http://infocenter.arm.com/help/topic/com.arm.doc.ihi0042d/IHI0042D_aapcs.pdf

For RTEMS it is surely not the worst choice to use the Linux variant of the 
EABI since a lot of software is developed for and tested with it.

>
>> But I am not an ARM expert.
> Neither am I.

Yes, this is also my problem.

-- 
Sebastian Huber, embedded brains GmbH

Address : Obere Lagerstr. 30, D-82178 Puchheim, Germany
Phone   : +49 89 18 90 80 79-6
Fax     : +49 89 18 90 80 79-9
E-Mail  : sebastian.huber@embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.



More information about the Gcc mailing list