summaryrefslogtreecommitdiff
path: root/sys/compat/osf1
diff options
context:
space:
mode:
authorTheo de Raadt <deraadt@cvs.openbsd.org>1996-08-25 12:20:03 +0000
committerTheo de Raadt <deraadt@cvs.openbsd.org>1996-08-25 12:20:03 +0000
commitc0d8e069269f4b68db3b7b60ad34b70bf98b9b82 (patch)
tree710ca086b634768616e96dafeedb2d6a32906155 /sys/compat/osf1
parent69189bf9794c800b106a391ec8409cc13efb8ebe (diff)
route execve via compat filename translation
Diffstat (limited to 'sys/compat/osf1')
-rw-r--r--sys/compat/osf1/osf1_misc.c16
-rw-r--r--sys/compat/osf1/syscalls.master4
2 files changed, 17 insertions, 3 deletions
diff --git a/sys/compat/osf1/osf1_misc.c b/sys/compat/osf1/osf1_misc.c
index 008900407fa..ed0e94aeffc 100644
--- a/sys/compat/osf1/osf1_misc.c
+++ b/sys/compat/osf1/osf1_misc.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: osf1_misc.c,v 1.3 1996/08/23 11:46:51 niklas Exp $ */
+2/* $OpenBSD: osf1_misc.c,v 1.4 1996/08/25 12:19:53 deraadt Exp $ */
/* $NetBSD: osf1_misc.c,v 1.7 1995/10/07 06:53:04 mycroft Exp $ */
/*
@@ -956,3 +956,17 @@ osf1_sys_madvise(p, v, retval)
/* XXX */
return EINVAL;
}
+
+int
+osf1_sys_execve(p, v, retval)
+ struct proc *p;
+ void *v;
+ register_t *retval;
+{
+ struct osf1_sys_execve_args *uap = v;
+
+ caddr_t sg = stackgap_init(p->p_emul);
+ OSF1_CHECK_ALT_EXIST(p, &sg, SCARG(uap, path));
+
+ return (sys_execve(p, (struct sys_execve_args *)&uap, retval));
+}
diff --git a/sys/compat/osf1/syscalls.master b/sys/compat/osf1/syscalls.master
index 32af409fa70..8997babc6dd 100644
--- a/sys/compat/osf1/syscalls.master
+++ b/sys/compat/osf1/syscalls.master
@@ -1,4 +1,4 @@
- $OpenBSD: syscalls.master,v 1.2 1996/08/02 20:20:30 niklas Exp $
+ $OpenBSD: syscalls.master,v 1.3 1996/08/25 12:19:55 deraadt Exp $
; $NetBSD: syscalls.master,v 1.2 1995/10/07 06:27:28 mycroft Exp $
; @(#)syscalls.master 8.1 (Berkeley) 7/19/93
@@ -104,7 +104,7 @@
56 NOARGS { int sys_revoke(char *path); }
57 NOARGS { int sys_symlink(char *path, char *link); }
58 NOARGS { int sys_readlink(char *path, char *buf, int count); }
-59 NOARGS { int sys_execve(char *path, char **argp, \
+59 STD { int osf1_sys_execve(char *path, char **argp, \
char **envp); }
60 NOARGS { int sys_umask(int newmask); }
61 NOARGS { int sys_chroot(char *path); }