summaryrefslogtreecommitdiff
path: root/arch/arm/bits
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2013-08-16 12:30:37 -0400
committerRich Felker <dalias@aerifal.cx>2013-08-16 12:30:37 -0400
commit7318c62e6439fca75ca3d50ddf0bd81a151c2766 (patch)
tree789578e9c4af6aedc50bcbde364dc180580e6de0 /arch/arm/bits
parent0a4a4a7a11db93c39960feea96ec9dbed969a44e (diff)
downloadmusl-7318c62e6439fca75ca3d50ddf0bd81a151c2766.tar.gz
musl-7318c62e6439fca75ca3d50ddf0bd81a151c2766.tar.bz2
musl-7318c62e6439fca75ca3d50ddf0bd81a151c2766.tar.xz
musl-7318c62e6439fca75ca3d50ddf0bd81a151c2766.zip
support floating point environment (fenv) on armhf (hard float) subarchs
patch by nsz. I've tested it on an armhf machine and it seems to be working correctly.
Diffstat (limited to 'arch/arm/bits')
-rw-r--r--arch/arm/bits/fenv.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/arch/arm/bits/fenv.h b/arch/arm/bits/fenv.h
index edbdea2a..1d990221 100644
--- a/arch/arm/bits/fenv.h
+++ b/arch/arm/bits/fenv.h
@@ -1,5 +1,18 @@
+#ifdef __SOFTFP__
#define FE_ALL_EXCEPT 0
#define FE_TONEAREST 0
+#else
+#define FE_INVALID 1
+#define FE_DIVBYZERO 2
+#define FE_OVERFLOW 4
+#define FE_UNDERFLOW 8
+#define FE_INEXACT 16
+#define FE_ALL_EXCEPT 31
+#define FE_TONEAREST 0
+#define FE_DOWNWARD 0x800000
+#define FE_UPWARD 0x400000
+#define FE_TOWARDZERO 0xc00000
+#endif
typedef unsigned long fexcept_t;