[U-Boot] Build errors u-boot-v2 iMX27

Dear ML,
I'm trying to build u-boot-v2 for an iMX27 based board. I'm getting a HW/SW floating point mismatch error and hope someone will point me to a solution. Building with: make ARCH=arm CROSS_COMPILE=arm-eabi- It works along fine until I get an error on each of these files: arch/arm/lib/_ashldi3.o arch/arm/lib/_ashrdi3.o arch/arm/lib/_divsi3.o arch/arm/lib/_modsi3.o arch/arm/lib/_udivsi3.o arch/arm/lib/_umodsi3.o arch/arm/lib/_lshrdi3.o arch/arm/lib/findbit.o arch/arm/lib/io-readsb.o arch/arm/lib/io-readsw-armv4.o arch/arm/lib/io-writesb.o arch/arm/lib/io-writesw-armv4.o
Error is:
arm-eabi-ld: ERROR: arch/arm/lib/_ashldi3.o uses hardware FP, whereas arch/arm/lib/built-in.o uses software FP arm-eabi-ld: failed to merge target specific data of file arch/arm/lib/_ashldi3.o
The source files are assembly, any C files have the -msoft-float compile option. What gives?
Regards, Bill Cook cook@isgchips.com

Hi Bill,
On Mon, Apr 20, 2009 at 10:57:49AM -0400, Bill Cook wrote:
Dear ML,
I'm trying to build u-boot-v2 for an iMX27 based board. I'm getting a HW/SW floating point mismatch error and hope someone will point me to a solution. Building with: make ARCH=arm CROSS_COMPILE=arm-eabi- It works along fine until I get an error on each of these files: arch/arm/lib/_ashldi3.o arch/arm/lib/_ashrdi3.o arch/arm/lib/_divsi3.o arch/arm/lib/_modsi3.o arch/arm/lib/_udivsi3.o arch/arm/lib/_umodsi3.o arch/arm/lib/_lshrdi3.o arch/arm/lib/findbit.o arch/arm/lib/io-readsb.o arch/arm/lib/io-readsw-armv4.o arch/arm/lib/io-writesb.o arch/arm/lib/io-writesw-armv4.o
Error is:
arm-eabi-ld: ERROR: arch/arm/lib/_ashldi3.o uses hardware FP, whereas arch/arm/lib/built-in.o uses software FP arm-eabi-ld: failed to merge target specific data of file arch/arm/lib/_ashldi3.o
The source files are assembly, any C files have the -msoft-float compile option. What gives?
All our toolchains produce soft float by default, so this does not show up here. U-Boot does not use floating point, so I think we do not have to care what the compiler produces. Does it help to remove the -msoft-float from arch/arm/Makefile?
Sascha

-----Original Message----- From: saschahauer@web.de [mailto:saschahauer@web.de]On Behalf Of Sascha Hauer Sent: Monday, April 20, 2009 12:57 PM To: Bill Cook Cc: u-boot@lists.denx.de Subject: Re: [U-Boot] Build errors u-boot-v2 iMX27
Hi Bill,
On Mon, Apr 20, 2009 at 10:57:49AM -0400, Bill Cook wrote:
Dear ML,
I'm trying to build u-boot-v2 for an iMX27 based board. I'm getting a HW/SW floating point mismatch error and hope someone will point me to a solution. Building with:
<snip>
Error is:
arm-eabi-ld: ERROR: arch/arm/lib/_ashldi3.o uses hardware FP, whereas arch/arm/lib/built-in.o uses software FP arm-eabi-ld: failed to merge target specific data of file arch/arm/lib/_ashldi3.o
The source files are assembly, any C files have the -msoft-float
compile option.
What gives?
All our toolchains produce soft float by default, so this does not show up here. U-Boot does not use floating point, so I think we do not have to care what the compiler produces. Does it help to remove the -msoft-float from arch/arm/Makefile?
Yes, this did the trick, I knew it had to be something simple... Thanks.
Bill
Sascha
-- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |

On Mon, Apr 20, 2009 at 02:18:21PM -0400, Bill Cook wrote:
-----Original Message----- From: saschahauer@web.de [mailto:saschahauer@web.de]On Behalf Of Sascha Hauer Sent: Monday, April 20, 2009 12:57 PM To: Bill Cook Cc: u-boot@lists.denx.de Subject: Re: [U-Boot] Build errors u-boot-v2 iMX27
Hi Bill,
On Mon, Apr 20, 2009 at 10:57:49AM -0400, Bill Cook wrote:
Dear ML,
I'm trying to build u-boot-v2 for an iMX27 based board. I'm getting a HW/SW floating point mismatch error and hope someone will point me to a solution. Building with:
<snip> > > Error is: > > > > arm-eabi-ld: ERROR: arch/arm/lib/_ashldi3.o uses hardware FP, whereas > > arch/arm/lib/built-in.o uses software FP > > arm-eabi-ld: failed to merge target specific data of file > > arch/arm/lib/_ashldi3.o > > > > > > The source files are assembly, any C files have the -msoft-float > compile option. > > What gives? > > All our toolchains produce soft float by default, so this does not show > up here. U-Boot does not use floating point, so I think we do not have > to care what the compiler produces. Does it help to remove the > -msoft-float from arch/arm/Makefile? >
Yes, this did the trick, I knew it had to be something simple... Thanks.
Ok, I removed -msoft-float.
Sascha
participants (2)
-
Bill Cook
-
Sascha Hauer