|
Message-ID: <20120713161011.GB14463@port70.net> Date: Fri, 13 Jul 2012 18:10:12 +0200 From: Szabolcs Nagy <nsz@...t70.net> To: musl@...ts.openwall.com Subject: Re: mips port working! & remaining issues * Rich Felker <dalias@...ifal.cx> [2012-07-13 10:25:21 -0400]: > 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 glibc seems to do runtime check for vfp and iwmmxt fpu on arm http://sourceware.org/git/?p=glibc.git;a=blob;f=ports/sysdeps/arm/setjmp.S and do compile time check on mips http://sourceware.org/git/?p=glibc.git;a=blob;f=ports/sysdeps/mips/setjmp_aux.c
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.