diff options
| author | jdolecek <jdolecek@NetBSD.org> | 2002-11-13 15:16:27 +0000 |
|---|---|---|
| committer | jdolecek <jdolecek@NetBSD.org> | 2002-11-13 15:16:27 +0000 |
| commit | cee43b67cc5ee19076cc8ff8798cbd9698f661e3 (patch) | |
| tree | 37bc354755dccda5a2b2c7447abb2b4defb260d6 /sys/compat/linux/common/linux_exec.h | |
| parent | 9def367548ca0b73b17755c6d1c653ddc12d9fb3 (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.h | 10 |
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 */ |
