Hi,

the change in src/sys/i386/include/ucontext.h  (in struct __mcontext),
where "struct  trapframe mc_tf;" was replaced by it's members
broke doscmd.

(The relevant files are
$FreeBSD: src/sys/i386/include/ucontext.h,v 1.3 1999/10/07 12:40:34 marcel Exp $
$FreeBSD: src/usr.bin/doscmd/signal.c,v 1.5 1999/09/29 20:09:18 marcel Exp $
$FreeBSD: src/usr.bin/doscmd/trap.c,v 1.6 1999/09/29 20:09:19 marcel Exp $
)

The following patch should fix it.

Bye, Philipp
-- 
http://www.uni-karlsruhe.de/~un1i/



diff -u doscmd.orig/signal.c doscmd/signal.c
--- doscmd.orig/signal.c        Thu Sep 30 21:26:37 1999
+++ doscmd/signal.c     Fri Oct  8 08:58:32 1999
@@ -66,7 +66,7 @@
 static void
 generichandler(struct sigframe sf)
 {
-    if (sf.sf_uc.uc_mcontext.mc_tf.tf_eflags & PSL_VM) {
+    if (sf.sf_uc.uc_mcontext.mc_eflags & PSL_VM) {
        saved_sigframe = &sf;
        saved_regcontext = (regcontext_t *)&(sf.sf_uc.uc_mcontext);
        saved_valid = 1;
diff -u doscmd.orig/trap.c doscmd/trap.c
--- doscmd.orig/trap.c  Thu Sep 30 21:26:37 1999
+++ doscmd/trap.c       Fri Oct  8 08:59:11 1999
@@ -296,8 +296,8 @@
 
     if ((int)sf->sf_siginfo != 0) {
         fatal("SIGBUS code %d, trapno: %d, err: %d\n",
-           (int)sf->sf_siginfo, sf->sf_uc.uc_mcontext.mc_tf.tf_trapno, 
-           sf->sf_uc.uc_mcontext.mc_tf.tf_err);
+           (int)sf->sf_siginfo, sf->sf_uc.uc_mcontext.mc_trapno, 
+           sf->sf_uc.uc_mcontext.mc_err);
     }
 
     addr = (u_char *)MAKEPTR(R_CS, R_IP);


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to