Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/amd64/amd64 Don't use an alternate stack for the tr...



details:   https://anonhg.NetBSD.org/src/rev/aad1b52ab091
branches:  trunk
changeset: 555842:aad1b52ab091
user:      fvdl <fvdl%NetBSD.org@localhost>
date:      Mon Dec 01 00:00:07 2003 +0000

description:
Don't use an alternate stack for the trace/breakpoint trap. It can be
called from userspace, and that messes things up.

Thanks to Mark Kettenis to pointing out that not using an alt stack
solved the "loop on gdb sig continuation" issue.

diffstat:

 sys/arch/amd64/amd64/machdep.c |  6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diffs (27 lines):

diff -r 636f85d0c0b2 -r aad1b52ab091 sys/arch/amd64/amd64/machdep.c
--- a/sys/arch/amd64/amd64/machdep.c    Sun Nov 30 23:58:51 2003 +0000
+++ b/sys/arch/amd64/amd64/machdep.c    Mon Dec 01 00:00:07 2003 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: machdep.c,v 1.14 2003/10/19 18:14:42 fvdl Exp $        */
+/*     $NetBSD: machdep.c,v 1.15 2003/12/01 00:00:07 fvdl Exp $        */
 
 /*-
  * Copyright (c) 1996, 1997, 1998, 2000 The NetBSD Foundation, Inc.
@@ -72,7 +72,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.14 2003/10/19 18:14:42 fvdl Exp $");
+__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.15 2003/12/01 00:00:07 fvdl Exp $");
 
 #include "opt_user_ldt.h"
 #include "opt_ddb.h"
@@ -1568,7 +1568,7 @@
 
        /* exceptions */
        for (x = 0; x < 32; x++) {
-               ist = (x == 8 || x == 3) ? 1 : 0;
+               ist = (x == 8) ? 1 : 0;
                setgate(&idt[x], IDTVEC(exceptions)[x], ist, SDT_SYS386IGT,
                    (x == 3 || x == 4) ? SEL_UPL : SEL_KPL,
                    GSEL(GCODE_SEL, SEL_KPL));



Home | Main Index | Thread Index | Old Index