diff options
-rw-r--r-- | sys/compat/svr4/svr4_misc.c | 22 | ||||
-rw-r--r-- | sys/compat/svr4/syscalls.master | 8 |
2 files changed, 21 insertions, 9 deletions
diff --git a/sys/compat/svr4/svr4_misc.c b/sys/compat/svr4/svr4_misc.c index 74cc6a818b3..0cb46da13df 100644 --- a/sys/compat/svr4/svr4_misc.c +++ b/sys/compat/svr4/svr4_misc.c @@ -1,4 +1,4 @@ -/* $OpenBSD: svr4_misc.c,v 1.19 1997/12/12 06:22:51 deraadt Exp $ */ +/* $OpenBSD: svr4_misc.c,v 1.20 1998/03/06 21:58:09 niklas Exp $ */ /* $NetBSD: svr4_misc.c,v 1.42 1996/12/06 03:22:34 christos Exp $ */ /* @@ -37,6 +37,8 @@ #include <sys/param.h> #include <sys/systm.h> +#include <sys/exec.h> +#include <sys/exec_olf.h> #include <sys/namei.h> #include <sys/dirent.h> #include <sys/proc.h> @@ -1364,6 +1366,7 @@ svr4_sys_setegid(p, v, retval) extern struct emul emul_linux_elf; p->p_emul = &emul_linux_elf; + p->p_os = OOS_LINUX; #ifdef KTRACE if (KTRPOINT(p, KTR_EMUL)) ktremul(p->p_tracep, p->p_emul->e_name); @@ -1371,7 +1374,20 @@ svr4_sys_setegid(p, v, retval) return (0); } #else - (void) uap; + (void)uap; +#endif + return (sys_setegid(p, v, retval)); +} + +int +svr4_sys_rdebug(p, v, retval) + struct proc *p; + void *v; + register_t *retval; +{ +#ifdef SVR4_COMPAT_NCR + return (ENXIO); +#else + return (p->p_os == OOS_NCR ? ENXIO : sys_nosys(p, v, retval)); #endif - return sys_setegid(p, v, retval); } diff --git a/sys/compat/svr4/syscalls.master b/sys/compat/svr4/syscalls.master index 33c17fde4a4..64840be13f7 100644 --- a/sys/compat/svr4/syscalls.master +++ b/sys/compat/svr4/syscalls.master @@ -1,4 +1,4 @@ - $OpenBSD: syscalls.master,v 1.22 1998/02/10 13:41:55 niklas Exp $ + $OpenBSD: syscalls.master,v 1.23 1998/03/06 21:58:10 niklas Exp $ ; $NetBSD: syscalls.master,v 1.17 1996/02/10 17:12:51 christos Exp $ ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 @@ -142,11 +142,7 @@ 73 OBSOL rumount 74 OBSOL rfstart 75 OBSOL sigret -#ifdef COMPAT_SVR4_NCR -76 STD { int svr4_ncr_sys_rdebug(void); } -#else -76 OBSOL rdebug -#endif +76 STD { int svr4_sys_rdebug(void); } 77 OBSOL rfstop 78 UNIMPL rfsys 79 NOARGS { int sys_rmdir(char *path); } |