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>