Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 2 Mar 2013 10:19:15 -0800
From:      Tim Kientzle <tim@kientzle.com>
To:        Ian Lepore <ian@freebsd.org>
Cc:        freebsd-arm@freebsd.org, Ronald Klop <ronald-freebsd8@klop.yi.org>
Subject:   Re: ARM EABI test image
Message-ID:  <E6BA91B4-56DD-400D-A742-0D5A9C08E91C@kientzle.com>
In-Reply-To: <1362247523.1195.183.camel@revolution.hippie.lan>
References:  <20130302172556.5b59e122@bender> <op.wtbw52qc8527sy@pinky> <1362246830.1195.181.camel@revolution.hippie.lan> <op.wtbyyldw8527sy@pinky> <1362247523.1195.183.camel@revolution.hippie.lan>

next in thread | previous in thread | raw e-mail | index | archive | help

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@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@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.

Tim




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E6BA91B4-56DD-400D-A742-0D5A9C08E91C>