소스 검색

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 20 년 전
부모
커밋
e627587cec
1개의 변경된 파일8개의 추가작업 그리고 1개의 파일을 삭제
  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