From 467e49cfc1d3f1757547eb34fbf00c3580d9005f Mon Sep 17 00:00:00 2001 From: dsl Date: Thu, 18 Sep 2008 21:28:45 +0000 Subject: [PATCH] Clear all the correct flags when calling a signal handler. --- sys/arch/amd64/amd64/netbsd32_machdep.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/arch/amd64/amd64/netbsd32_machdep.c b/sys/arch/amd64/amd64/netbsd32_machdep.c index 5ee6a42b14d5..1479feda530b 100644 --- a/sys/arch/amd64/amd64/netbsd32_machdep.c +++ b/sys/arch/amd64/amd64/netbsd32_machdep.c @@ -1,4 +1,4 @@ -/* $NetBSD: netbsd32_machdep.c,v 1.51 2008/05/21 14:10:28 ad Exp $ */ +/* $NetBSD: netbsd32_machdep.c,v 1.52 2008/09/18 21:28:45 dsl Exp $ */ /* * Copyright (c) 2001 Wasabi Systems, Inc. @@ -36,7 +36,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: netbsd32_machdep.c,v 1.51 2008/05/21 14:10:28 ad Exp $"); +__KERNEL_RCSID(0, "$NetBSD: netbsd32_machdep.c,v 1.52 2008/09/18 21:28:45 dsl Exp $"); #include "opt_compat_netbsd.h" #include "opt_coredump.h" @@ -265,7 +265,7 @@ netbsd32_sendsig_sigcontext(const ksiginfo_t *ksi, const sigset_t *mask) tf->tf_rip = (uint64_t)catcher; tf->tf_cs = GSEL(GUCODE32_SEL, SEL_UPL); - tf->tf_rflags &= ~(PSL_T|PSL_VM|PSL_AC); + tf->tf_rflags &= ~PSL_CLEARSIG; tf->tf_rsp = (uint64_t)fp; tf->tf_ss = GSEL(GUDATA32_SEL, SEL_UPL); @@ -350,7 +350,7 @@ netbsd32_sendsig_siginfo(const ksiginfo_t *ksi, const sigset_t *mask) tf->tf_rip = (uint64_t)catcher; tf->tf_cs = GSEL(GUCODE32_SEL, SEL_UPL); - tf->tf_rflags &= ~(PSL_T|PSL_VM|PSL_AC); + tf->tf_rflags &= ~CLEARSIG; tf->tf_rsp = (uint64_t)fp; tf->tf_ss = GSEL(GUDATA32_SEL, SEL_UPL);