Help with hard versus soft float on PPC

Peter Dufault dufault at
Thu Nov 19 16:03:26 UTC 2009

I've been building my application for my new MPC5554 BSP using the MPC5554 hard-float (single precision SPE hard-float, I added the context switch hooks) while the BSP has been built using soft float.  This has been working OK for about a month.  I tried to rebuild the BSP with the same set of flags as my application, but now I get warnings, though I didn't before even though there was a mismatch then too.

/opt/rtems-4.10/lib/gcc/powerpc-rtems4.10/4.4.2/../../../../powerpc-rtems4.10/bin/ld: Warning: /home/dufault/work/scratch/Andrea_Doria/powerpcmpc5566evbrtems4.10/lib/libmotobank.a(servo.o) uses hard float, o-optimize/motobank.exe uses soft float

All the application and bsp .o files are now built using:
    -meabi \
    -mfloat-gprs=single \

and the final link looks like this:

powerpc-rtems4.10-g++ \
    -B/opt/rtems-4.10/powerpc-rtems4.10/mpc5566evb/lib/ \
    -specs bsp_specs \
    -qrtems \
    -g \
    -Wall \
    -mcpu=8540 \
    -meabi \
    -msdata \
    -fno-common \
    -mfloat-gprs=single \
    -mspe \
    -D__ppc_generic \
    -mstrict-align \
    -o o-optimize/motobank.exe \
    o-optimize/_init.o \
    o-optimize/flash.o \
    -L/home/dufault/work/scratch/Andrea_Doria/powerpcmpc5566evbrtems4.10/lib \
    -lmotobank \
    -letpu \
    -ltelnetd \

I haven't done anything about rebuilding newlib.

What's the right way to go about properly building for -float-gprs=single -mspe?  


More information about the users mailing list