
In message 131AF8573CF31945B5B11E4201D3F1E142BA28@mail3.Avidyne.com you wrote:
When I got 1.1.4, I get the infamous message about how u-boot needs a software FP whereas my gcc is set up for hardware fp.
What I would LIKE to know is why 1.1.2 builds just fine but 1.1.4 does not.
There have been so many changes between 1.1.2 and 1.1.4 that it's difficult to tell which specific change causes the problem, but if you check the "make" output you can clearly see where the problem is coming from - your compiler fails to provide the required softfloat routines. Which is kind of funny, since there are not so many ARM systems with FPU around.
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.
My recommendation is to fix the toolchain
IIRC, An file included by the top makefile defines CFLAGS to include -msoftfloat. Removing -msoftfloat from CFLAGS allows you to build U-boot with your normal compiler. I did that, and u-boot 1.1.4 compiled fine after that.
Personally, I think -msoftfloat should be optional. Before Wolfgang start complaining about bloat, I'd like to point out that due to segment boundaries in the AT45DB642D a total of 256 kB is av ailable for the dataflashboot, u.boot and u-boot environment and it is meaningless to save a byte here and there.
It is worth 10s of kB to be able to use a single toolchain to build u-.boot, Linux and filesystem .
Best regards,
Wolfgang Denk
--
Best Regards Ulf Samuelsson