Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20120713142521.GI544@brightrain.aerifal.cx>
Date: Fri, 13 Jul 2012 10:25:21 -0400
From: Rich Felker <dalias@...ifal.cx>
To: musl@...ts.openwall.com
Subject: Re: mips port working! & remaining issues

On Fri, Jul 13, 2012 at 03:36:03PM +0200, Luca Barbato wrote:
> On 07/13/2012 03:08 PM, Rich Felker wrote:
> 
> > My understanding is that the EABI provides conventions that ensure
> > that code can be linked together whether it's written to use hard or
> > soft float. But unless all floating point registers are temp (not
> > callee-saved), I can't find a way to make that work with setjmp...
> 
> Currently hardfloat just pass the registers instead of doing some copy
> over in a way or another and it is what people will use.

That's the hardfloat ABI variant of EABI, but there's also base EABI
that can use hard float behind the scenes (in the soft float
functions) just by calling the __aeabi functions and having them
implemented with hard-float. Although I suppose this usage does not
require the registers to be preserved.

Now I just need to work out a nice way to conditionally compile
different ASM for each variant. Or I could have setjmp and longjmp
just read a global var with the hardfloat flag in it, and jump over
the float register code if it's false. Opinions on what's best?

Rich

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.