The svr4 module is broken after the following change to svr4_machdep.c rev 1.5.
---------------------------------------------------------------------- revision 1.5 date: 1999/06/01 18:20:23; author: jlemon; state: Exp; lines: +0 -4 Unifdef VM86. Reviewed by: silence on on -current ---------------------------------------------------------------------- The problem is svr4_getcontext() and svr4_setcontext() now refers to tf_vm86_xx fields which are defined in struct trapframe_vm68 but not in p->p_md.md_regs (struct trapframe). int svr4_setcontext(p, uc) struct proc *p; struct svr4_ucontext *uc; { struct sigacts *psp = p->p_sigacts; register struct trapframe *tf; svr4_greg_t *r = uc->uc_mcontext.greg; struct svr4_sigaltstack *s = &uc->uc_stack; struct sigaltstack *sf = &psp->ps_sigstk; int mask; [...] if ((uc->uc_flags & SVR4_UC_CPU) == 0) return 0; tf = p->p_md.md_regs; /* * Restore register context. */ if (r[SVR4_X86_EFL] & PSL_VM) { tf->tf_vm86_gs = r[SVR4_X86_GS]; tf->tf_vm86_ffs = r[SVR4_X86_FS]; tf->tf_vm86_es = r[SVR4_X86_ES]; tf->tf_vm86_ds = r[SVR4_X86_DS]; set_vflags(p, r[SVR4_X86_EFL]); } else { [...] Kazu To Unsubscribe: send mail to majord...@freebsd.org with "unsubscribe freebsd-current" in the body of the message