diff options
| author | manu <manu@NetBSD.org> | 2006-02-09 19:18:56 +0000 |
|---|---|---|
| committer | manu <manu@NetBSD.org> | 2006-02-09 19:18:56 +0000 |
| commit | ee0c5b44def8a80be34fd2e5867cafdcc76275b6 (patch) | |
| tree | 183be75b62d5300967eea39ead22b2c61ee63277 /sys/compat/linux/common/linux_exec.h | |
| parent | 0cf592aa8aff28200eebc1da22b795caa7423277 (diff) | |
Add initial (but unfinished) COMPAT_LINUX32 for amd64. This is good enough so
that the i386 license manager part of amd64 version of Fluent works.
While I'm here, add SysV IPC to COMPAT_LINUX/amd64
Diffstat (limited to 'sys/compat/linux/common/linux_exec.h')
| -rw-r--r-- | sys/compat/linux/common/linux_exec.h | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/sys/compat/linux/common/linux_exec.h b/sys/compat/linux/common/linux_exec.h index 86a559789f4..137ef2ac042 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.36 2005/12/11 12:20:19 christos Exp $ */ +/* $NetBSD: linux_exec.h,v 1.37 2006/02/09 19:18:56 manu Exp $ */ /*- * Copyright (c) 1995, 1998 The NetBSD Foundation, Inc. @@ -39,6 +39,10 @@ #ifndef _LINUX_EXEC_H #define _LINUX_EXEC_H +#if defined(EXEC_ELF32) || defined(EXEC_ELF64) +#include <sys/exec_elf.h> +#endif + #if defined(__i386__) #include <compat/linux/arch/i386/linux_exec.h> #elif defined(__m68k__) @@ -95,6 +99,8 @@ #define LINUX_AT_HWCAP 16 /* arch dependent CPU capabilities */ #define LINUX_AT_CLKTCK 17 /* frequency times() increments */ #define LINUX_AT_SECURE 23 /* secure mode boolean */ +#define LINUX_AT_SYSINFO 32 /* pointer to __kernel_vsyscall */ +#define LINUX_AT_SYSINFO_EHDR 33 /* pointer to ELF header */ /* * Emulation specific sysctls. @@ -137,12 +143,32 @@ int linux_elf32_probe __P((struct lwp *, struct exec_package *, void *, char *, vaddr_t *)); int linux_elf32_copyargs __P((struct lwp *, struct exec_package *, struct ps_strings *, char **, void *)); +int linux_elf32_signature __P((struct lwp *, struct exec_package *, + Elf32_Ehdr *, char *)); +#ifdef LINUX_GCC_SIGNATURE +int linux_elf32_gcc_signature __P((struct lwp *l, + struct exec_package *, Elf32_Ehdr *)); +#endif +#ifdef LINUX_ATEXIT_SIGNATURE +int linux_elf32_atexit_signature __P((struct lwp *l, + struct exec_package *, Elf32_Ehdr *)); +#endif #endif #ifdef EXEC_ELF64 int linux_elf64_probe __P((struct lwp *, struct exec_package *, void *, char *, vaddr_t *)); int linux_elf64_copyargs __P((struct lwp *, struct exec_package *, struct ps_strings *, char **, void *)); +int linux_elf64_signature __P((struct lwp *, struct exec_package *, + Elf64_Ehdr *, char *)); +#ifdef LINUX_GCC_SIGNATURE +int linux_elf64_gcc_signature __P((struct lwp *l, + struct exec_package *, Elf64_Ehdr *)); +#endif +#ifdef LINUX_ATEXIT_SIGNATURE +int linux_elf64_atexit_signature __P((struct lwp *l, + struct exec_package *, Elf64_Ehdr *)); +#endif #endif __END_DECLS #endif /* !_KERNEL */ |
