[oe] liboil softfloat fix questions
Koen Kooi
k.kooi at student.utwente.nl
Thu Sep 25 07:31:43 UTC 2008
Hi,
I noticed liboil got patched:
+if test x"${ENABLE_SOFTFLOAT}" = "xyes"; then
+ VFP_CFLAGS="$VFP_CFLAGS -mfloat-abi=softfp"
+else
+ VFP_CFLAGS="$VFP_CFLAGS -mfpu=vfp"
That looks a bit wrong to me, since for EABI you'd want
'-mfloat-abi=softfp -mfpu=vfp' to make it use the VFP coprocessor using
softfloat calling conventions[1] and plain '-mfloat-abi=softfp' to do
softfloat, and with OABI you don't want to pass '-mfloat-abi=softfp'
To make it even more complicated, on armv7a[2] you want to pass
-mfpu=neon -mfloat-abi=softfp. If you look at the output of gcc -S
you'll see that EABI won't use an FPU unless you pass in
-mfloat-abi=softfp *and* -mfpu=<FPU>.
AFAICT OE passes all the needed magic already in TARGET_CCFLAGS, so it
seems that this entire construct can be removed.
Robert, could you beat the cacao people with a cluebat so they get their
stuff right?
regards,
Koen
[1] There are more permutations, but let's focus on the one OE is
currently using
[2] On cortex-a8 the VFP isn't pipelined, so double precision math is
twice as slow compared to ARM11 cores, the NEON unit is pipelined, but
can only do single-precision. So don't be surprised if your new omap3
nokia tablet performs FP math slower than your n810.
More information about the Openembedded-devel
mailing list