[uClibc]Bonehead floating-point question

Erik Andersen andersen at codepoet.org
Thu Mar 13 19:10:47 UTC 2003


On Thu Mar 13, 2003 at 10:39:34AM -0800, David Wuertele wrote:
> OK, I have a totally basic floating-point question for y'all.
> 
> I've been trying to compile everything "soft float" and I've been
> having a lot of trouble.  Now I find out about the floating point
> emulator that comes with every kernel.  In fact, my kernel has that
> compiled in by default, and reports "Algorithmics/MIPS FPU Emulator
> v1.5" when it boots.
> 
> What is the relationship between compiling for my target with
> -msoft-float and the target kernel's floating point emulator?  If I've
> got an emulator, why should I do anything with soft floats?

If you compile everything with -msoft-float, then the compiler
will never emit floating point opcodes, so the kernel fpu
emulater will never be used.

> For example, uClibc Configuration asks at one point:
> 
>   Target CPU has a floating point unit (FPU) (HAS_FPU) [Y/n/?] y
> 
> Why should it care?  As a matter of fact my target CPU does *not* have
> an FPU, but since I've got emulation it shouldn't matter.  What do I
> gain/loose by saying "n" here?

uClibc cares since if you don't have an FPU I need to make
certain that uClibc is compiled with -msoft-float and that
all uClibc asm code properly elides fpu opcodes.

> The default buildroot builds gcc "--without-float" ... Why is that
> needed?

I do not believe that is correct.

 -Erik

--
Erik B. Andersen             http://codepoet-consulting.com/
--This message was written using 73% post-consumer electrons--



More information about the uClibc mailing list