[PATCH, ARM] Switch to EABI version 5 for RTEMS

Joel Sherrill joel.sherrill@oarcorp.com
Wed Apr 13 18:25:00 GMT 2011


On 04/13/2011 03:38 AM, Sebastian Huber wrote:
> On 04/06/2011 07:20 PM, Sebastian Huber wrote:
>> On 06/04/11 18:24, Ralf Corsepius wrote:
>>> On 04/06/2011 05:20 PM, Sebastian Huber wrote:
>>>
>>>> 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.
>>> These patches are not OK with me, because these are widely
>>> incompatible to what has been used in RTEMS up today
>> Can you please list these incompatibilities.  The RTEMS test suite shows
>> no problems with this tool chain.  The GCC test suite looks also good.
> [...]
>
> It is not really helpful to claim something without an explanation.  The
> missing tool chain for the ARM Cortex architecture blocks RTEMS from further
> development on a very important embedded systems platform.  A lot of competing
> real time operating systems provide ARM Cortex support for a long time.
>
> Lets look at the GCC test suite results:
>
Wow!  The improvement is fantastic.

These would impact only new release branches of RTEMS and
we are months away from a new release branch.  If something
breaks, now if the time to find it out.

> RTEMS 4.11, GCC 4.6.0 (EABI)
>
> 		=== gcc Summary ===
>
> # of expected passes		72429
> # of unexpected failures	200
> # of unexpected successes	7
> # of expected failures		183
> # of unresolved testcases	138
> # of unsupported tests		1103
>
> 		=== g++ Summary ===
>
> # of expected passes		25494
> # of unexpected failures	11
> # of unexpected successes	1
> # of expected failures		160
> # of unsupported tests		427
>
> RTEMS 4.11, GCC 4.6.0 (old ABI)
>
> 		=== gcc Summary ===
>
> # of expected passes		43613
> # of unexpected failures	15916
> # of unexpected successes	8
> # of expected failures		181
> # of unresolved testcases	11127
> # of unsupported tests		1124
>
> 		=== g++ Summary ===
>
> # of expected passes		20709
> # of unexpected failures	2590
> # of expected failures		157
> # of unresolved testcases	291
> # of unsupported tests		430
>
> RTEMS 4.10, GCC 4.4.5 (old ABI)
>
> 		=== gcc Summary ===
>
> # of expected passes		34293
> # of unexpected failures	11273
> # of expected failures		237
> # of unresolved testcases	7878
> # of unsupported tests		683
>
> 		=== g++ Summary ===
>
> # of expected passes		15707
> # of unexpected failures	1726
> # of expected failures		155
> # of unresolved testcases	26
> # of unsupported tests		194
>
> RTEMS 4.9, GCC 4.3.2 (old ABI)
>
> 		=== gcc Summary ===
>
> # of expected passes		47164
> # of unexpected failures	2070
> # of expected failures		97
> # of unresolved testcases	92
> # of untested testcases		35
> # of unsupported tests		792
>
> 		=== g++ Summary ===
>
> # of expected passes		17019
> # of unexpected failures	52
> # of unexpected successes	2
> # of expected failures		82
> # of unresolved testcases	49
> # of unsupported tests		164
>
> The EABI tool chain has by far the best test suite results.
>
> The RTEMS test suite was run with the edb7312 BSP and shows good results.  It
> works also on real hardware with the lpc24xx and lpc32xx BSPs.
>
> All ARM BSPs compile and link all tests with the EABI tool chain.
>
> We use the VFP floating point format in all ARM BSPs since 2010-04-30.
>
> All ARM BSPs support the init and fini array sections since 2010-12-03.
>
> The C++ exceptions change from SJLJ to a table based implementation is an
> implementation detail.
>
> The required ARM/Thumb interwork is an enhancement.
>
> I don't claim that the switch to the EABI tool chain will be without problems,
> but we have to use it to figure this out.  The multilib selection may need
> further changes.  I am concerned about the enabled exceptions in some libgcc
> functions.
>


-- 
Joel Sherrill, Ph.D.             Director of Research&  Development
joel.sherrill@OARcorp.com        On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
    Support Available             (256) 722-9985




More information about the Gcc-patches mailing list