Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. =================================================================== RCS file: /ftp/cvs/cvsroot/src/sys/arch/i386/i386/machdep.c,v retrieving revision 1.586.2.5 retrieving revision 1.586.2.6 diff -u -p -r1.586.2.5 -r1.586.2.6 --- src/sys/arch/i386/i386/machdep.c 2007/08/28 11:46:26 1.586.2.5 +++ src/sys/arch/i386/i386/machdep.c 2009/10/18 15:20:42 1.586.2.6 @@ -1,4 +1,4 @@ -/* $NetBSD: machdep.c,v 1.586.2.5 2007/08/28 11:46:26 liamjfoy Exp $ */ +/* $NetBSD: machdep.c,v 1.586.2.6 2009/10/18 15:20:42 bouyer Exp $ */ /*- * Copyright (c) 1996, 1997, 1998, 2000, 2004, 2006 The NetBSD Foundation, Inc. @@ -72,7 +72,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.586.2.5 2007/08/28 11:46:26 liamjfoy Exp $"); +__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.586.2.6 2009/10/18 15:20:42 bouyer Exp $"); #include "opt_beep.h" #include "opt_compat_ibcs2.h" @@ -810,6 +810,12 @@ sendsig_siginfo(const ksiginfo_t *ksi, c buildcontext(l, sel, catcher, fp); +#if NNPX > 0 + /* make sure we get a clean FPU */ + npxsave_lwp(l, 0); + l->l_md.md_flags &= ~MDL_USEDFPU; +#endif + /* Remember that we're now on the signal stack. */ if (onstack) p->p_sigctx.ps_sigstk.ss_flags |= SS_ONSTACK;