aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--sysdeps/i386/fpu_control.h4
2 files changed, 7 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index f6df6f9..9bbfb4f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2004-11-22 Ulrich Drepper <drepper@redhat.com>
+
+ * sysdeps/i386/fpu_control.h: Add volatile to the asms.
+ Patch by Alexander Stohr.
+
2004-11-22 Jakub Jelinek <jakub@redhat.com>
* nscd/nscd_getai (__nscd_getai): Avoid memory and file descriptor
diff --git a/sysdeps/i386/fpu_control.h b/sysdeps/i386/fpu_control.h
index e2d0046..0a9b57c 100644
--- a/sysdeps/i386/fpu_control.h
+++ b/sysdeps/i386/fpu_control.h
@@ -93,8 +93,8 @@ typedef unsigned int fpu_control_t __attribute__ ((__mode__ (__HI__)));
Note that the use of these macros is no sufficient anymore with
recent hardware. Some floating point operations are executed in
the SSE/SSE2 engines which have their own control and status register. */
-#define _FPU_GETCW(cw) __asm__ ("fnstcw %0" : "=m" (*&cw))
-#define _FPU_SETCW(cw) __asm__ ("fldcw %0" : : "m" (*&cw))
+#define _FPU_GETCW(cw) __asm__ __volatile__ ("fnstcw %0" : "=m" (*&cw))
+#define _FPU_SETCW(cw) __asm__ __volatile__ ("fldcw %0" : : "m" (*&cw))
/* Default control word set at startup. */
extern fpu_control_t __fpu_control;