diff options
Diffstat (limited to 'sysdeps/mach/hurd/i386')
-rw-r--r-- | sysdeps/mach/hurd/i386/sigreturn.c | 7 |
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 |