ARM EABI test image

Warner Losh imp at bsdimp.com
Sat Mar 2 23:17:23 UTC 2013


On Mar 2, 2013, at 11:19 AM, Tim Kientzle wrote:

> 
> On Mar 2, 2013, at 10:05 AM, Ian Lepore wrote:
> 
>> On Sat, 2013-03-02 at 19:00 +0100, Ronald Klop wrote:
>>> On Sat, 02 Mar 2013 18:53:50 +0100, Ian Lepore <ian at freebsd.org> wrote:
>>> 
>>>> On Sat, 2013-03-02 at 18:21 +0100, Ronald Klop wrote:
>>>>> On Sat, 02 Mar 2013 05:25:56 +0100, Andrew Turner <andrew at fubar.geek.nz>
>>>>> wrote:
>>>>> 
>>>>>> Hello,
>>>>>> 
>>>>>> I have built an updated ARM EABI test image for Raspberry Pi [1].
>>>>>> 
>>>>>> The only known issue is c++ exception handling is broken when
>>>>>> using in a dynamically linked executable. Static executables should
>>>>>> work with c++ exceptions.
>>>>>> 
>>>>>> To test it you will have to extract it using unxz and dd it to an sd
>>>>>> card, for example, with a USB to SD adapter on /dev/da0:
>>>>>> $ unxz bsd-pi-eabi-r247609.img.xz
>>>>>> $ dd if=bsd-pi-eabi-r247609.img of=/dev/da0
>>>>>> 
>>>>>> If you don't have a Raspberry Pi but would like to try it on your  
>>>>> board
>>>>>> you can add -DWITH_ARM_EABI to the make commands you use to build and
>>>>>> install world and the kernel.
>>>>> 
>>>>> Is this also interesing on the older SHEEVAPLUG?
>>>>> If yes, I can test it somewhere next week.
>>>>> 
>>>>> Ronald.
>>>> 
>>>> As I understand it, the plan is that eventually everything is EABI,
>>>> including the older armv4/5 stuff, so that needs testing too.
>>>> 
>>>> You know what I haven't stumbled across yet is a simple explanation of
>>>> why EABI is better then OABI.  I tried to search for some info the other
>>>> day, but there are so many noise hits on the search I didn't find a
>>>> simple synopsis of differences or advantages.
> 
> I wondered about that too, did some searching, and likewise
> came up with nothing informative.  The only "big wins" I've
> seen quoted in the Linux community was an improvement
> in FP performance.
> 
>>> Googling on 'eabi vs oabi' gives me this  
>>> http://wiki.embeddedarm.com/wiki/EABI_vs_OABI.
>> 
>> I saw that, but that's a linux-specific answer to a linux-specific
>> problem that freebsd never had: we use OABI without assuming hardware fp
>> and emulating it in the kernel via traps.  I hope there's more advantage
>> to EABI than just that, since that part of it gets us nothing.
> 
> I think the only real advantage for us is that EABI is the
> ARM-specified calling convention that will be supported
> by all new toolchains going forward.
> 
> It's not so much that EABI brings us big wins but that
> OABI was already starting to become a liability.

Part of the ABI is the alignment rules for structures is saner, which is also a big win.

Warner


More information about the freebsd-arm mailing list