summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNiklas Hallqvist <niklas@cvs.openbsd.org>1998-03-06 21:58:11 +0000
committerNiklas Hallqvist <niklas@cvs.openbsd.org>1998-03-06 21:58:11 +0000
commitdcac002bf44ff09df975ff4e23b41efb868c7a02 (patch)
tree27e78f3cb0cc8ba4065088bec6cd2e05998e6bb7
parentf2438def8efc2092df39ff6c919dbe02cb0cfdf6 (diff)
Make NCR rdebug behaviour dependent on p_os field
-rw-r--r--sys/compat/svr4/svr4_misc.c22
-rw-r--r--sys/compat/svr4/syscalls.master8
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); }