summaryrefslogtreecommitdiff
path: root/sysdeps/mach/hurd/i386
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1995-02-22 05:47:15 +0000
committerRoland McGrath <roland@gnu.org>1995-02-22 05:47:15 +0000
commit50843ff068aae5b1ff58581eddd3bd107e99114b (patch)
tree0c72d59f78d63861d4a901fafd90cf6c3c822193 /sysdeps/mach/hurd/i386
parent23ad311df0e01caa58b54afb8ae999a3ffc1ba7a (diff)
Wed Feb 22 00:44:41 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/mach/hurd/i386/sigreturn.c: Restore the FPU state. * stdlib/random.c (__srandom): Change algorithm used to populate the state array. (randtbl): Recomputed with new algorithm.
Diffstat (limited to 'sysdeps/mach/hurd/i386')
-rw-r--r--sysdeps/mach/hurd/i386/sigreturn.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/sysdeps/mach/hurd/i386/sigreturn.c b/sysdeps/mach/hurd/i386/sigreturn.c
index df8960669f..19ba1d472c 100644
--- a/sysdeps/mach/hurd/i386/sigreturn.c
+++ b/sysdeps/mach/hurd/i386/sigreturn.c
@@ -80,10 +80,9 @@ __sigreturn (struct sigcontext *scp)
*reply_port = scp->sc_reply_port;
if (scp->sc_fpused)
- {
- /* XXX should restore FPU state here XXX roland needs 387 manual */
- /* abort (); */
- }
+ /* Restore the FPU state. Mach conveniently stores the state
+ in the format the i387 `frstor' instruction uses to restore it. */
+ asm volatile ("frstor %0" : : "m" (scp->sc_fpsave));
{
/* There are convenient instructions to pop state off the stack, so we