summaryrefslogtreecommitdiff
path: root/sys/kern/exec_elf64.c
diff options
context:
space:
mode:
authorkstailey <kstailey@cvs.openbsd.org>1999-09-20 11:09:38 +0000
committerkstailey <kstailey@cvs.openbsd.org>1999-09-20 11:09:38 +0000
commitbdb994f65b3c575b1cd1189b7c66f23f6bb4ec63 (patch)
treecf4389372c5358bcc1ee6fab44c205978f0334c9 /sys/kern/exec_elf64.c
parent4119dcec83a55d13f2ba08a99ea252f6d53405c7 (diff)
clean up
Diffstat (limited to 'sys/kern/exec_elf64.c')
-rw-r--r--sys/kern/exec_elf64.c19
1 files changed, 8 insertions, 11 deletions
diff --git a/sys/kern/exec_elf64.c b/sys/kern/exec_elf64.c
index 9029c111512..a6573366e99 100644
--- a/sys/kern/exec_elf64.c
+++ b/sys/kern/exec_elf64.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: exec_elf64.c,v 1.4 1999/09/19 16:16:49 kstailey Exp $ */
+/* $OpenBSD: exec_elf64.c,v 1.5 1999/09/20 11:09:37 kstailey Exp $ */
/*
* Copyright (c) 1996 Per Fogelstrom
@@ -597,8 +597,8 @@ exec_elf64_makecmds(p, epp)
goto bad;
case PT_INTERP:
+ /* Already did this one */
case PT_NOTE:
- /* Already did these */
case PT_DYNAMIC:
break;
@@ -689,7 +689,6 @@ exec_elf64_fixup(p, epp)
struct elf_args *ap;
AuxInfo ai[ELF_AUX_ENTRIES], *a;
u_long pos = epp->ep_interp_pos;
- size_t len;
if(epp->ep_interp == 0) {
return (0);
@@ -716,13 +715,12 @@ exec_elf64_fixup(p, epp)
}
kill_vmcmds(&epp->ep_vmcmds);
- a = ai;
-
/*
* Push extra arguments on the stack needed by dynamically
* linked binaries
*/
if (error == 0) {
+ a = ai;
a->au_id = AUX_phdr;
a->au_v = ap->arg_phaddr;
@@ -751,14 +749,13 @@ exec_elf64_fixup(p, epp)
a->au_id = AUX_entry;
a->au_v = ap->arg_entry;
a++;
- }
- a->au_id = AUX_null;
- a->au_v = 0;
- a++;
+ a->au_id = AUX_null;
+ a->au_v = 0;
+ a++;
- len = (a - ai) * sizeof(AuxInfo);
- error = copyout(ai, epp->ep_emul_argp, len);
+ error = copyout(ai, epp->ep_emul_argp, sizeof ai);
+ }
free((char *)ap, M_TEMP);
free((char *)interp, M_TEMP);
return (error);