Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 2 Mar 2013 16:17:20 -0700
From:      Warner Losh <imp@bsdimp.com>
To:        Tim Kientzle <tim@kientzle.com>
Cc:        freebsd-arm@freebsd.org, Ian Lepore <ian@freebsd.org>, Ronald Klop <ronald-freebsd8@klop.yi.org>
Subject:   Re: ARM EABI test image
Message-ID:  <E57F8A8C-6DF9-439A-BEFB-C96ADD039646@bsdimp.com>
In-Reply-To: <E6BA91B4-56DD-400D-A742-0D5A9C08E91C@kientzle.com>
References:  <20130302172556.5b59e122@bender> <op.wtbw52qc8527sy@pinky> <1362246830.1195.181.camel@revolution.hippie.lan> <op.wtbyyldw8527sy@pinky> <1362247523.1195.183.camel@revolution.hippie.lan> <E6BA91B4-56DD-400D-A742-0D5A9C08E91C@kientzle.com>

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

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

>=20
> On Mar 2, 2013, at 10:05 AM, Ian Lepore wrote:
>=20
>> 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:
>>>=20
>>>> 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:
>>>>>=20
>>>>>> Hello,
>>>>>>=20
>>>>>> I have built an updated ARM EABI test image for Raspberry Pi [1].
>>>>>>=20
>>>>>> The only known issue is c++ exception handling is broken when
>>>>>> using in a dynamically linked executable. Static executables =
should
>>>>>> work with c++ exceptions.
>>>>>>=20
>>>>>> 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=3Dbsd-pi-eabi-r247609.img of=3D/dev/da0
>>>>>>=20
>>>>>> If you don't have a Raspberry Pi but would like to try it on your =
=20
>>>>> board
>>>>>> you can add -DWITH_ARM_EABI to the make commands you use to build =
and
>>>>>> install world and the kernel.
>>>>>=20
>>>>> Is this also interesing on the older SHEEVAPLUG?
>>>>> If yes, I can test it somewhere next week.
>>>>>=20
>>>>> Ronald.
>>>>=20
>>>> As I understand it, the plan is that eventually everything is EABI,
>>>> including the older armv4/5 stuff, so that needs testing too.
>>>>=20
>>>> 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.
>=20
> 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.
>=20
>>> Googling on 'eabi vs oabi' gives me this =20
>>> http://wiki.embeddedarm.com/wiki/EABI_vs_OABI.
>>=20
>> 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.
>=20
> 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.
>=20
> 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=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E57F8A8C-6DF9-439A-BEFB-C96ADD039646>