Bläddra i källkod

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.

Mike Frysinger 21 år sedan
förälder
incheckning
e627587cec
1 ändrade filer med 8 tillägg och 1 borttagningar
  1. 8 1
      libc/sysdeps/linux/arm/bits/endian.h

+ 8 - 1
libc/sysdeps/linux/arm/bits/endian.h

@@ -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