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.