From mboxrd@z Thu Jan 1 00:00:00 1970 From: Brent Cook Date: Thu, 12 Oct 2006 16:57:48 -0500 Subject: [U-Boot-Users] software FP yada yada yada In-Reply-To: <006b01c6ee47$b1534170$0d68fe51@atmel.com> References: <20061012203005.DB047353BDE@atlas.denx.de> <200610121635.13952.bcook@bpointsys.com> <006b01c6ee47$b1534170$0d68fe51@atmel.com> Message-ID: <200610121657.48795.bcook@bpointsys.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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