summaryrefslogtreecommitdiff
path: root/sys/compat/svr4/svr4_misc.c
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 /sys/compat/svr4/svr4_misc.c
parentf2438def8efc2092df39ff6c919dbe02cb0cfdf6 (diff)
Make NCR rdebug behaviour dependent on p_os field
Diffstat (limited to 'sys/compat/svr4/svr4_misc.c')
-rw-r--r--sys/compat/svr4/svr4_misc.c22
1 files changed, 19 insertions, 3 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);
}