From owner-freebsd-arm@FreeBSD.ORG Sat Mar 2 18:19:16 2013 Return-Path: Delivered-To: freebsd-arm@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 6B50A707; Sat, 2 Mar 2013 18:19:16 +0000 (UTC) (envelope-from tim@kientzle.com) Received: from monday.kientzle.com (99-115-135-74.uvs.sntcca.sbcglobal.net [99.115.135.74]) by mx1.freebsd.org (Postfix) with ESMTP id 32CBDB2A; Sat, 2 Mar 2013 18:19:16 +0000 (UTC) Received: (from root@localhost) by monday.kientzle.com (8.14.4/8.14.4) id r22IJFEx059708; Sat, 2 Mar 2013 18:19:15 GMT (envelope-from tim@kientzle.com) Received: from [192.168.2.143] (CiscoE3000 [192.168.1.65]) by kientzle.com with SMTP id b2rd8jhqkm5pzgztn6mwiud7vs; Sat, 02 Mar 2013 18:19:15 +0000 (UTC) (envelope-from tim@kientzle.com) Subject: Re: ARM EABI test image Mime-Version: 1.0 (Apple Message framework v1283) Content-Type: text/plain; charset=us-ascii From: Tim Kientzle In-Reply-To: <1362247523.1195.183.camel@revolution.hippie.lan> Date: Sat, 2 Mar 2013 10:19:15 -0800 Content-Transfer-Encoding: 7bit Message-Id: References: <20130302172556.5b59e122@bender> <1362246830.1195.181.camel@revolution.hippie.lan> <1362247523.1195.183.camel@revolution.hippie.lan> To: Ian Lepore X-Mailer: Apple Mail (2.1283) Cc: freebsd-arm@freebsd.org, Ronald Klop X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Porting FreeBSD to the StrongARM Processor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 02 Mar 2013 18:19:16 -0000 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 wrote: >> >>> On Sat, 2013-03-02 at 18:21 +0100, Ronald Klop wrote: >>>> On Sat, 02 Mar 2013 05:25:56 +0100, Andrew Turner >>>> 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