summaryrefslogtreecommitdiff
path: root/sys/compat/linux/common/linux_exec_elf32.c
diff options
context:
space:
mode:
authormycroft <mycroft@NetBSD.org>1996-09-03 03:12:17 +0000
committermycroft <mycroft@NetBSD.org>1996-09-03 03:12:17 +0000
commita8fd25767dce8f2bee6c42da9aebcbf4c68a48af (patch)
tree1e240ce1d83aca67f9dc28582ba5d02693b6ccfd /sys/compat/linux/common/linux_exec_elf32.c
parent65605b0484f26dfb5521159145e2bea5215e7cd2 (diff)
Define execv() and execve() consistently across emulations.
Do path name translation.
Diffstat (limited to 'sys/compat/linux/common/linux_exec_elf32.c')
-rw-r--r--sys/compat/linux/common/linux_exec_elf32.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/sys/compat/linux/common/linux_exec_elf32.c b/sys/compat/linux/common/linux_exec_elf32.c
index 2ab8eefdc55..c76aafe510a 100644
--- a/sys/compat/linux/common/linux_exec_elf32.c
+++ b/sys/compat/linux/common/linux_exec_elf32.c
@@ -1,4 +1,4 @@
-/* $NetBSD: linux_exec_elf32.c,v 1.15 1996/06/13 19:27:01 christos Exp $ */
+/* $NetBSD: linux_exec_elf32.c,v 1.16 1996/09/03 03:12:28 mycroft Exp $ */
/*
* Copyright (c) 1995 Frank van der Linden
@@ -564,10 +564,15 @@ linux_sys_execve(p, v, retval)
syscallarg(char **) argv;
syscallarg(char **) envp;
} */ *uap = v;
+ struct sys_execve_args ap;
caddr_t sg;
sg = stackgap_init(p->p_emul);
LINUX_CHECK_ALT_EXIST(p, &sg, SCARG(uap, path));
- return sys_execve(p, uap, retval);
+ SCARG(&ap, path) = SCARG(uap, path);
+ SCARG(&ap, argp) = SCARG(uap, argp);
+ SCARG(&ap, envp) = SCARG(uap, envp);
+
+ return sys_execve(p, &ap, retval);
}