On Tue, 2011-04-05 at 15:34 +0200, Sebastian Huber wrote:
> Hello,
> 
> there were several requests for ARM Cortex-M support on RTEMS recently.  The
> first step towards this is a suitable ARM tool chain.  I want to use this 
> event
> to clean up the multilibs and switch to the EABI version 5.  The benefit of
> EABI version 5 is that this brings RTEMS more in line with the primary GCC
> platform arm-linux-gnueabi.  For standards related to this please have a look
> at the following documents.
> 
> Base Platform ABI for the ARM Architecture (BPABI):
> 
> http://infocenter.arm.com/help/topic/com.arm.doc.ihi0037b/IHI0037B_bpabi.pdf
> 
> ARM Architecture Procedure Call Standard (AAPCS):
> 
> http://infocenter.arm.com/help/topic/com.arm.doc.ihi0042d/IHI0042D_aapcs.pdf
> 
> ELF for the ARM Architecture:
> 
> http://infocenter.arm.com/help/topic/com.arm.doc.ihi0044d/IHI0044D_aaelf.pdf
> 
> The EABI makes the VFP floating point architecture mandatory and enables us to
> use hardware floating point support in the future.  RTEMS has currently no
> support for hardware floating point units (the context switch part is 
> missing).
> The Thumb interwork support is mandatory with this ABI.  The exception 
> handling
> implementation changes from SJLJ to unwind tables (DWARF 2).

The EABI does not make VFP mandatory (it can't since cortex-m0 doesn't
have VFP), but it does mandate the format of floating-point values that
is compatible with using VFP.

Further the C++ exception handling work uses a table-based system, but
that is not based on DWARF unwinding tables as they are too bulky for
use on small embedded systems.

> 
> I propose to change the ARM multilibs as follows:

Patches need to be sent to gcc-patches@, not gcc@.  Please can you
repost your patch there.

R.


Reply via email to