summaryrefslogtreecommitdiff
path: root/sys/arch/i386
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@cvs.openbsd.org>2008-03-18 14:29:26 +0000
committerMark Kettenis <kettenis@cvs.openbsd.org>2008-03-18 14:29:26 +0000
commitea10e3494de2f1983c562523188c038df7a3e766 (patch)
treef888e55e1bb419871f0a0103b8f2549f43010650 /sys/arch/i386
parentdd6715c7fbd71d40e82dc7cbfcaa7b02bcc19557 (diff)
Clear PSL_D when entering signal handlers; pointed out by dfly people;
ok miod@
Diffstat (limited to 'sys/arch/i386')
-rw-r--r--sys/arch/i386/i386/freebsd_machdep.c4
-rw-r--r--sys/arch/i386/i386/linux_machdep.c4
-rw-r--r--sys/arch/i386/i386/svr4_machdep.c4
3 files changed, 6 insertions, 6 deletions
diff --git a/sys/arch/i386/i386/freebsd_machdep.c b/sys/arch/i386/i386/freebsd_machdep.c
index bb1cd69add0..43d4f849238 100644
--- a/sys/arch/i386/i386/freebsd_machdep.c
+++ b/sys/arch/i386/i386/freebsd_machdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: freebsd_machdep.c,v 1.21 2006/12/29 13:04:36 pedro Exp $ */
+/* $OpenBSD: freebsd_machdep.c,v 1.22 2008/03/18 14:29:25 kettenis Exp $ */
/* $NetBSD: freebsd_machdep.c,v 1.10 1996/05/03 19:42:05 christos Exp $ */
/*-
@@ -153,7 +153,7 @@ freebsd_sendsig(sig_t catcher, int sig, int mask, u_long code, int type,
tf->tf_ds = GSEL(GUDATA_SEL, SEL_UPL);
tf->tf_eip = p->p_sigcode;
tf->tf_cs = GSEL(GUCODE_SEL, SEL_UPL);
- tf->tf_eflags &= ~(PSL_T|PSL_VM|PSL_AC);
+ tf->tf_eflags &= ~(PSL_T|PSL_D|PSL_VM|PSL_AC);
tf->tf_esp = (int)fp;
tf->tf_ss = GSEL(GUDATA_SEL, SEL_UPL);
}
diff --git a/sys/arch/i386/i386/linux_machdep.c b/sys/arch/i386/i386/linux_machdep.c
index 6e912cfec52..a9f98e14575 100644
--- a/sys/arch/i386/i386/linux_machdep.c
+++ b/sys/arch/i386/i386/linux_machdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: linux_machdep.c,v 1.34 2007/02/14 00:53:47 jsg Exp $ */
+/* $OpenBSD: linux_machdep.c,v 1.35 2008/03/18 14:29:25 kettenis Exp $ */
/* $NetBSD: linux_machdep.c,v 1.29 1996/05/03 19:42:11 christos Exp $ */
/*
@@ -181,7 +181,7 @@ linux_sendsig(sig_t catcher, int sig, int mask, u_long code, int type,
tf->tf_ds = GSEL(GUDATA_SEL, SEL_UPL);
tf->tf_eip = p->p_sigcode;
tf->tf_cs = GSEL(GUCODE_SEL, SEL_UPL);
- tf->tf_eflags &= ~(PSL_T|PSL_VM|PSL_AC);
+ tf->tf_eflags &= ~(PSL_T|PSL_D|PSL_VM|PSL_AC);
tf->tf_esp = (int)fp;
tf->tf_ss = GSEL(GUDATA_SEL, SEL_UPL);
}
diff --git a/sys/arch/i386/i386/svr4_machdep.c b/sys/arch/i386/i386/svr4_machdep.c
index d4d77930505..8d33252061d 100644
--- a/sys/arch/i386/i386/svr4_machdep.c
+++ b/sys/arch/i386/i386/svr4_machdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: svr4_machdep.c,v 1.25 2006/12/29 13:04:37 pedro Exp $ */
+/* $OpenBSD: svr4_machdep.c,v 1.26 2008/03/18 14:29:25 kettenis Exp $ */
/* $NetBSD: svr4_machdep.c,v 1.24 1996/05/03 19:42:26 christos Exp $ */
/*
@@ -368,7 +368,7 @@ svr4_sendsig(sig_t catcher, int sig, int mask, u_long code, int type,
tf->tf_ds = GSEL(GUDATA_SEL, SEL_UPL);
tf->tf_eip = p->p_sigcode;
tf->tf_cs = GSEL(GUCODE_SEL, SEL_UPL);
- tf->tf_eflags &= ~(PSL_T|PSL_VM|PSL_AC);
+ tf->tf_eflags &= ~(PSL_T|PSL_D|PSL_VM|PSL_AC);
tf->tf_esp = (int)fp;
tf->tf_ss = GSEL(GUDATA_SEL, SEL_UPL);
}