]> sourceware.org Git - glibc.git/commitdiff
Update.
authorUlrich Drepper <drepper@redhat.com>
Tue, 24 Jun 2003 09:02:16 +0000 (09:02 +0000)
committerUlrich Drepper <drepper@redhat.com>
Tue, 24 Jun 2003 09:02:16 +0000 (09:02 +0000)
2003-05-19  Ed Connell  <ed.connell@sas.com>

* sysdeps/unix/sysv/linux/i386/getcontext.S (getcontext): Retain
floating point mask.
* sysdeps/i386/fpu/fegetenv.c (fegetenv): Likewise.

ChangeLog
sysdeps/i386/fpu/fegetenv.c
sysdeps/unix/sysv/linux/i386/getcontext.S

index 571330c35d3e61b8c0b60215e6734be81611d9e6..e87c0a6a452b19c044eda6be6f38d7851b2ad492 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2003-05-19  Ed Connell  <ed.connell@sas.com>
+
+       * sysdeps/unix/sysv/linux/i386/getcontext.S (getcontext): Retain
+       floating point mask.
+       * sysdeps/i386/fpu/fegetenv.c (fegetenv): Likewise.
+
 2003-06-23  Ulrich Drepper  <drepper@redhat.com>
 
        * sysdeps/pthread/aio_misc.h: Mark __aio_requests_mutex,
index 5eef171308953bf46e2bac6f68fda860136dac1f..fb955cf56513ba56c4428200ff2c92c33985e0ad 100644 (file)
@@ -1,5 +1,5 @@
 /* Store current floating-point environment.
-   Copyright (C) 1997,99,2000,01 Free Software Foundation, Inc.
+   Copyright (C) 1997,1999,2000,2001,2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -25,6 +25,10 @@ int
 __fegetenv (fenv_t *envp)
 {
   __asm__ ("fnstenv %0" : "=m" (*envp));
+  /* And load it right back since the processor changes the mask.
+     Intel thought this opcode to be used in interrupt handlers which
+     would block all exceptions.  */
+  __asm__ ("fldenv %0" : : "m" (*envp));
 
   /* Success.  */
   return 0;
index 9db129f5a60f85d77cc001ab46a6e43726b67401..68541d5d80c69713e577d16595c20844c3e5150e 100644 (file)
@@ -1,5 +1,5 @@
 /* Save current context.
-   Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2001.
 
@@ -56,6 +56,10 @@ ENTRY(__getcontext)
        movl    %ecx, oFPREGS(%eax)
        /* Save the floating-point context.  */
        fnstenv (%ecx)
+       /* And load it right back since the processor changes the mask.
+          Intel thought this opcode to be used in interrupt handlers which
+          would block all exceptions.  */
+       fldenv  (%ecx)
 
        /* Save the current signal mask.  */
        pushl   %ebx
This page took 0.0557 seconds and 5 git commands to generate.