[U-Boot-Users] software FP yada yada yada

Brent Cook bcook at bpointsys.com
Thu Oct 12 23:57:48 CEST 2006


On Thursday 12 October 2006 16:44, Ulf Samuelsson wrote:
> >> According to the crosstool documentation at www.kegel.com:
> >>
> >> Most combinations of gcc 3.x.x and binutils fails when you try to build
> >> a softfloat toolchain All tested combinations of gcc-4.x.x and binutils
> >> fails if softfloat is enabled. If you want to use gcc 4, you cannot
> >> build u-boot as is.
> >
> > FYI, I have successfully used GCC 4.1.1 and binutils 2.16.1 to build not
> > only a working armv5teb softfloat toolchain (with glibc 2.4 to boot), but
> > also build and use u-boot 1.1.4 and the latest git head with no problems
> > at all.
> >
> > Granted, I built the toolchain from scratch - it takes a number of tweaks
> > to build correctly, all of which are not in crosstool.
>
> Is there any true benefit of using a softfloat toochain?
> The number of floating point operation is surely minimal in U.boot.
> Anyone got an idea if there is any code saving.
>
> Best Regards
> Ulf Samuelsson

It's pretty darn minimal in u-boot. If you build Linux with this toolchain 
however, and have a non-trivial number of floating point operations in your 
application code, you could end up causing a lot of processor exceptions, 
which get caught by the kernel and run through the FP emulator. The gist 
would be that userland code has to do a context switch to the kernel for 
every FP operation if you build with a hard-float toolchain. With a 
soft-float toolchain, it stays in userland, and is a bit faster and more 
efficient (as efficient as soft floating point can be.)

 - Brent




More information about the U-Boot mailing list