summaryrefslogtreecommitdiff
path: root/sys/compat/linux/common/linux_exec.h
diff options
context:
space:
mode:
authorjdolecek <jdolecek@NetBSD.org>2002-11-13 15:16:27 +0000
committerjdolecek <jdolecek@NetBSD.org>2002-11-13 15:16:27 +0000
commitcee43b67cc5ee19076cc8ff8798cbd9698f661e3 (patch)
tree37bc354755dccda5a2b2c7447abb2b4defb260d6 /sys/compat/linux/common/linux_exec.h
parent9def367548ca0b73b17755c6d1c653ddc12d9fb3 (diff)
add generic linux compat ELF copyargs function
this gives: * linux sysconf(_SC_CLK_TCK) gives correct value for linux binaries (hz) even if hz != 100 * glibc gets proper information on real/effective uid and enables secure mode for suid binaries g/c LINUX_COPYARGS_FUNCTION, replaced by linux ELF copyargs function g/c alpha-specific linux ELF copyargs function and linux ELF defines
Diffstat (limited to 'sys/compat/linux/common/linux_exec.h')
-rw-r--r--sys/compat/linux/common/linux_exec.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/sys/compat/linux/common/linux_exec.h b/sys/compat/linux/common/linux_exec.h
index 9a2d2f855ec..20edb443a75 100644
--- a/sys/compat/linux/common/linux_exec.h
+++ b/sys/compat/linux/common/linux_exec.h
@@ -1,4 +1,4 @@
-/* $NetBSD: linux_exec.h,v 1.22 2002/08/26 21:06:01 christos Exp $ */
+/* $NetBSD: linux_exec.h,v 1.23 2002/11/13 15:16:28 jdolecek Exp $ */
/*-
* Copyright (c) 1995, 1998 The NetBSD Foundation, Inc.
@@ -78,6 +78,10 @@
#define LINUX_N_BSSADDR(x,m) (LINUX_N_DATADDR(x,m) + (x).a_data)
+#ifndef LINUX_MACHDEP_ELF_COPYARGS
+#define LINUX_ELF_AUX_ENTRIES 13 /* we push 13 parameters */
+#endif
+
/*
* From Linux's include/linux/elf.h
*/
@@ -127,10 +131,14 @@ void linux_trapsignal __P((struct proc *, int, u_long));
#ifdef EXEC_ELF32
int linux_elf32_probe __P((struct proc *, struct exec_package *, void *,
char *, vaddr_t *));
+int linux_elf32_copyargs __P((struct proc *, struct exec_package *,
+ struct ps_strings *, char **, void *));
#endif
#ifdef EXEC_ELF64
int linux_elf64_probe __P((struct proc *, struct exec_package *, void *,
char *, vaddr_t *));
+int linux_elf64_copyargs __P((struct proc *, struct exec_package *,
+ struct ps_strings *, char **, void *));
#endif
__END_DECLS
#endif /* !_KERNEL */