summaryrefslogtreecommitdiff
path: root/libc/sysdeps/x86
diff options
context:
space:
mode:
Diffstat (limited to 'libc/sysdeps/x86')
-rw-r--r--libc/sysdeps/x86/Makefile4
-rw-r--r--libc/sysdeps/x86/fpu/bits/fenv.h45
-rw-r--r--libc/sysdeps/x86/tininess.h1
3 files changed, 32 insertions, 18 deletions
diff --git a/libc/sysdeps/x86/Makefile b/libc/sysdeps/x86/Makefile
new file mode 100644
index 000000000..f25d1e241
--- /dev/null
+++ b/libc/sysdeps/x86/Makefile
@@ -0,0 +1,4 @@
+ifeq ($(subdir),elf)
+CFLAGS-.os += $(if $(filter $(@F),$(patsubst %,%.os,$(all-rtld-routines))),\
+ -mno-sse -mno-mmx)
+endif
diff --git a/libc/sysdeps/x86/fpu/bits/fenv.h b/libc/sysdeps/x86/fpu/bits/fenv.h
index b2c01c403..e0079cd97 100644
--- a/libc/sysdeps/x86/fpu/bits/fenv.h
+++ b/libc/sysdeps/x86/fpu/bits/fenv.h
@@ -23,17 +23,22 @@
of the appropriate bits in the FPU control word. */
enum
{
- FE_INVALID = 0x01,
-#define FE_INVALID FE_INVALID
+ FE_INVALID =
+#define FE_INVALID 0x01
+ FE_INVALID,
__FE_DENORM = 0x02,
- FE_DIVBYZERO = 0x04,
-#define FE_DIVBYZERO FE_DIVBYZERO
- FE_OVERFLOW = 0x08,
-#define FE_OVERFLOW FE_OVERFLOW
- FE_UNDERFLOW = 0x10,
-#define FE_UNDERFLOW FE_UNDERFLOW
- FE_INEXACT = 0x20
-#define FE_INEXACT FE_INEXACT
+ FE_DIVBYZERO =
+#define FE_DIVBYZERO 0x04
+ FE_DIVBYZERO,
+ FE_OVERFLOW =
+#define FE_OVERFLOW 0x08
+ FE_OVERFLOW,
+ FE_UNDERFLOW =
+#define FE_UNDERFLOW 0x10
+ FE_UNDERFLOW,
+ FE_INEXACT =
+#define FE_INEXACT 0x20
+ FE_INEXACT
};
#define FE_ALL_EXCEPT \
@@ -44,14 +49,18 @@ enum
for the appropriate macros. */
enum
{
- FE_TONEAREST = 0,
-#define FE_TONEAREST FE_TONEAREST
- FE_DOWNWARD = 0x400,
-#define FE_DOWNWARD FE_DOWNWARD
- FE_UPWARD = 0x800,
-#define FE_UPWARD FE_UPWARD
- FE_TOWARDZERO = 0xc00
-#define FE_TOWARDZERO FE_TOWARDZERO
+ FE_TONEAREST =
+#define FE_TONEAREST 0
+ FE_TONEAREST,
+ FE_DOWNWARD =
+#define FE_DOWNWARD 0x400
+ FE_DOWNWARD,
+ FE_UPWARD =
+#define FE_UPWARD 0x800
+ FE_UPWARD,
+ FE_TOWARDZERO =
+#define FE_TOWARDZERO 0xc00
+ FE_TOWARDZERO
};
diff --git a/libc/sysdeps/x86/tininess.h b/libc/sysdeps/x86/tininess.h
new file mode 100644
index 000000000..1db37790f
--- /dev/null
+++ b/libc/sysdeps/x86/tininess.h
@@ -0,0 +1 @@
+#define TININESS_AFTER_ROUNDING 1