comes here */
};
-/*
- * SunOS' ld.so does self-modifying code without knowing about the 040's
- * cache purging needs. So we need to uncache writeable executable pages.
- */
-void
-sunos_setregs(p, pack, stack, retval)
- register struct proc *p;
- struct exec_package *pack;
- u_long stack;
- register_t *retval;
-{
- setregs(p, pack, stack, retval);
- p->p_md.md_flags |= MDP_UNCACHE_WX;
-}
-
/*
* much simpler sendsig() for SunOS processes, as SunOS does the whole
* context-saving in usermode. For now, no hardware information (ie.
-/* $Id: machdep.c,v 1.4 1995/11/28 01:24:40 deraadt Exp $ */
+/* $Id: machdep.c,v 1.5 1995/11/29 17:02:49 deraadt Exp $ */
/*
* Copyright (c) 1995 Theo de Raadt
p->p_addr->u_pcb.pcb_fpregs.fpf_null = 0;
m68881_restore(&p->p_addr->u_pcb.pcb_fpregs);
#endif
+#ifdef COMPAT_SUNOS
+ /*
+ * SunOS' ld.so does self-modifying code without knowing
+ * about the 040's cache purging needs. So we need to uncache
+ * writeable executable pages.
+ */
+ if (p->p_emul == &emul_sunos)
+ p->p_md.md_flags |= MDP_UNCACHE_WX;
+ else
+ p->p_md.md_flags &= ~MDP_UNCACHE_WX;
+#endif
#ifdef COMPAT_HPUX
p->p_md.md_flags &= ~MDP_HPUXMMAP;
if (p->p_emul == &emul_hpux) {
extern char *sunos_syscallnames[];
#endif
extern void sunos_sendsig __P((sig_t, int, int, u_long));
-#ifdef m68k
-extern void sunos_setregs __P((struct proc *, struct exec_package *, u_long,
- register_t *));
-#endif
extern char sigcode[], esigcode[];
const char sunos_emul_path[] = "/emul/sunos";
#endif
0,
copyargs,
-#ifdef m68k
- sunos_setregs,
-#else
setregs,
-#endif
sigcode,
esigcode,
};