summaryrefslogtreecommitdiff
path: root/libc
diff options
context:
space:
mode:
Diffstat (limited to 'libc')
-rw-r--r--libc/sysdeps/linux/arm/bits/endian.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/libc/sysdeps/linux/arm/bits/endian.h b/libc/sysdeps/linux/arm/bits/endian.h
index 5e54cc753..14cd5c603 100644
--- a/libc/sysdeps/linux/arm/bits/endian.h
+++ b/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