[U-Boot] PowerPC 440EP hard-float

Hello,
I built a toolchain for PowerPC 440EP nad configured it for cpu 440fp with hard-float.
Building u-boot with this toolchain failed, because there is
PLATFORM_CPPFLAGS += -DCONFIG_4xx -ffixed-r2 -mstring -msoft-float
in cpu/ppc4xx/config.mk.
What is the best way to solve this? Possible solutions I see: - build a toolchain with different parameters - make msoft-float configurable in u-boot
OT: Is a 440fp toolchain with hard float a bad idea somehow? Has soft-float any advantages?
Cheers Dirk -------------------------------------------------------------------------- Guntermann & Drunck GmbH Systementwicklung Dortmunder Str. 4a D-57234 Wilnsdorf - Germany Tel: +49 (0) 27 39 / 89 01 - 100 Fax: +49 (0) 27 39 / 89 01 - 120 E-Mail: mailto:sales@gdsys.de Web: www.gdsys.de -------------------------------------------------------------------------- Geschaeftsfuehrer: Udo Guntermann - Martin Drunck - Reiner Ruelmann - Klaus Tocke HRB 2884, Amtsgericht Siegen - WEEE-Reg.-Nr. DE30763240 USt.-Id.-Nr. DE 126575222 - Steuer-Nr. 342 / 5835 / 1041 --------------------------------------------------------------------------

On 11:06 Thu 20 Nov , Eibach, Dirk wrote:
Hello,
I built a toolchain for PowerPC 440EP nad configured it for cpu 440fp with hard-float.
Building u-boot with this toolchain failed, because there is
PLATFORM_CPPFLAGS += -DCONFIG_4xx -ffixed-r2 -mstring -msoft-float
in cpu/ppc4xx/config.mk.
What is the best way to solve this? Possible solutions I see:
- build a toolchain with different parameters
- make msoft-float configurable in u-boot
OT: Is a 440fp toolchain with hard float a bad idea somehow? Has soft-float any advantages?
the best way will be to remove the -lgcc so you can build u-boot how you wish without depending of the toolchains support of hard-float or soft-float
Best Regards, J.

Dear Jean-Christophe PLAGNIOL-VILLARD,
In message 20081120103217.GA21703@game.jcrosoft.org you wrote:
OT: Is a 440fp toolchain with hard float a bad idea somehow? Has soft-float any advantages?
the best way will be to remove the -lgcc so you can build u-boot how you wish without depending of the toolchains support of hard-float or soft-float
Note that this is not the cause of the problem. It works fine with the ELDK.
Best regards,
Wolfgang Denk

Dear "Eibach, Dirk",
In message 48D3D52125C49B43AE880038E2E5314B025C3C@SRV101.gdsys.de you wrote:
I built a toolchain for PowerPC 440EP nad configured it for cpu 440fp with hard-float.
Shouldbe working fine. The ELDK "ppc_4xxFP" packages do the same.
Building u-boot with this toolchain failed, because there is
PLATFORM_CPPFLAGS += -DCONFIG_4xx -ffixed-r2 -mstring -msoft-float
in cpu/ppc4xx/config.mk.
This is no reason for any problems. As mentioned above, ELDK in the ppc_4xxFP configuration (and some others) support hardware FP as well, but works fine with U-Boot. After all, U-Boot is self-contained.
What is the best way to solve this? Possible solutions I see:
- build a toolchain with different parameters
- make msoft-float configurable in u-boot
3) fix your toolchain.
OT: Is a 440fp toolchain with hard float a bad idea somehow? Has soft-float any advantages?
A 4xx FP toolchain is a perfectly good idea - that's why we support such a configuration in ppc_4xxFP with the ELDK. But it doesn't need any changes to U-Boot.
Best regards,
Wolfgang Denk

This is no reason for any problems. As mentioned above, ELDK in the ppc_4xxFP configuration (and some others) support hardware FP as well, but works fine with U-Boot. After all, U-Boot is self-contained.
Sorry for bugging you again, Wolfgang.
The messages I get are: /home/de/x-tools/powerpc-440fp-linux-gnu/bin/powerpc-440fp-linux-gnu-ld: Warning: /home/de/x-tools/powerpc-440fp-linux-gnu/lib/gcc/powerpc-440fp-linux-gnu /4.3.2/libgcc.a(_udivdi3.o) uses hard float, u-boot uses soft float /home/de/x-tools/powerpc-440fp-linux-gnu/bin/powerpc-440fp-linux-gnu-ld: Warning: /home/de/x-tools/powerpc-440fp-linux-gnu/lib/gcc/powerpc-440fp-linux-gnu /4.3.2/libgcc.a(_umoddi3.o) uses hard float, u-boot uses soft float
So u-boot seems to use udivdi3 and umoddi3 from libgcc. Does this mean that uboot is not self contained or that something is wrong with my libgcc or can I simply ignore this warnings?
Cheers Dirk

A 4xx FP toolchain is a perfectly good idea - that's why we support such a configuration in ppc_4xxFP with the ELDK. But it doesn't need any changes to U-Boot.
I tried building u-boot with the 4xxFP toolchain from ELDK and - surprise, surprise - it worked.
So there is definetly something wrong with my toolchain. I used crosstool-ng to build it. So I will contact the developer and see if he has some ideas for me.
Cheers Dirk
participants (3)
-
Eibach, Dirk
-
Jean-Christophe PLAGNIOL-VILLARD
-
Wolfgang Denk