Subject: Re: ARM: The switch to ELF. Are we ready yet?
To: Ben Harris <bjh21@netbsd.org>
From: Todd Vierling <tv@wasabisystems.com>
List: port-arm
Date: 03/18/2002 15:46:17
On Mon, 18 Mar 2002, Ben Harris wrote:

: > 1) Structure returning.  We currently don't conform to the ATPCS
: > conventions for this (currently using old, horrible, APCS conventions).
: > (rearnsha)
:
: I think this is an insignificant problem, in that (I hope) structure
: returning is a very rare activity, so we can get away with claiming the
: old behaviour to be a bug in GCC and fixing it when we can.  It's not as
: if GCC isn't short of other bugs.

It's part of the established system ABI, however.  See div(3), ldiv(3) --
both return structs.  There may be others.

If it's not fixed now, you can't "fix" it later without creating yet another
binary compatibility layer point (as we frown *very heavily* on flag days).
Take it from experience; you want to get the ABI as correct as possible the
first time around.

: >  For example, it has recently been
: > suggested that we should nail a register for thread local storage (as
: > several other processors do).  No decision has yet been reached on this
: > issue, and even if we do adopt one, it is unclear whether it should be r9
: > or r10.
:
: Shouldn't marking -ffixed-r9 -ffixed-r10 deal with this in a
: forward-compatible way?

Yes.  This could be put in the CC1_SPEC and removed at a later date if a
specific fixed register is chosen.  You'll get less optimal code as a
result, though.  8-)

-- 
-- Todd Vierling <tv@wasabisystems.com>  *  Wasabi & NetBSD:  Run with it.
-- CDs, Integration, Embedding, Support -- http://www.wasabisystems.com/