[uClibc-cvs] svn commit: trunk/uClibc/libc/sysdeps/linux/arm/bits

vapier at uclibc.org vapier at uclibc.org
Thu Aug 4 22:35:14 UTC 2005


Author: vapier
Date: 2005-08-04 16:35:13 -0600 (Thu, 04 Aug 2005)
New Revision: 11047

Log:
yvasilev writes in Bug 235:
uClibc uses wrong word order in vfp floating point arithmetic.
I found this using my modification to N. Pitre's soft-float gcc patch, but this modifications were 
made just to allow gcc to compile code for armv4l, while nothing about fp arithmetic was changed.



Modified:
   trunk/uClibc/libc/sysdeps/linux/arm/bits/endian.h


Changeset:
Modified: trunk/uClibc/libc/sysdeps/linux/arm/bits/endian.h
===================================================================
--- trunk/uClibc/libc/sysdeps/linux/arm/bits/endian.h	2005-08-04 22:17:55 UTC (rev 11046)
+++ trunk/uClibc/libc/sysdeps/linux/arm/bits/endian.h	2005-08-04 22:35:13 UTC (rev 11047)
@@ -1,4 +1,7 @@
-/* ARM is (usually) little-endian but with a big-endian FPU.  */
+/* ARM is (usually) little-endian.
+ * Older FPU style (FPA) is always big-endian.
+ * Newer FPU style (VFP) is same as host byte-order.
+ */
 
 #ifndef _ENDIAN_H
 # error "Never use <bits/endian.h> directly; include <endian.h> instead."
@@ -9,4 +12,8 @@
 #else
 #define __BYTE_ORDER __LITTLE_ENDIAN
 #endif
+#ifdef __VFP_FP__
+#define __FLOAT_WORD_ORDER __BYTE_ORDER 
+#else
 #define __FLOAT_WORD_ORDER __BIG_ENDIAN
+#endif




More information about the uClibc-cvs mailing list