double word ordering on little endian

Christopher Taylor chtaylo3 at gmail.com
Fri Jun 6 18:50:19 UTC 2008


Custom board built board with Atmel's at91sam9261 processor (little
endian).  We can go either way with FPA/VFP.

Two things perplex me here:
1) buildroot (as of r21760 that I'm working with) seems to want to use
FPA when I compile .  I'm surprised that more attention is not paid to
this in an explicit manner.
2) Under what criteria should one favor FPA or VFP?  Things that come
to mind: pure speed, power efficiency, binary compatibility with x86,
binary compatibility with traditional ARM.


Additionally and perhaps more importantly, it appears that the
confusion stems from two known gcc errors:
http://www.busybox.net/cgi-bin/viewcvs.cgi/branches/buildroot.mjn3/toolchain/gcc/3.4.6/arm-softfloat.patch.conditional?rev=14854&view=auto
http://bugs.uclibc.org/view.php?id=1522

Based on my understanding of the above two posts, in gcc 3.4.6 using
-msoft_float erroneously gives you VFP while in gcc 4.2.6 using
-msoft_float correctly gives you FPA.  Additionally in gcc 4.2.6 if
you want VFP, one should be able to omit any reference to
-msoft-float, etc and that should give you VFP.  Unfortuantely due to
an error in gcc 4.2.6 omitting any such configuration gives you FPA.
The latter bug did not impact us but it's good to be aware of.


Perhaps uclibc and buildroot should take this into consideration and
specify gcc configure options more explicitly?

-Chris



More information about the uClibc mailing list