mirror of
https://github.com/izzy2lost/xemu.git
synced 2026-07-06 00:20:22 -07:00
linux-user: Move elf parameters to {i386,x86_64}/target_elf.h
Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
@@ -130,45 +130,6 @@ typedef abi_uint target_gid_t;
|
||||
#endif
|
||||
typedef abi_int target_pid_t;
|
||||
|
||||
#ifdef TARGET_I386
|
||||
|
||||
#ifdef TARGET_X86_64
|
||||
#define ELF_CLASS ELFCLASS64
|
||||
#define ELF_ARCH EM_X86_64
|
||||
|
||||
#else
|
||||
|
||||
/*
|
||||
* This is used to ensure we don't load something for the wrong architecture.
|
||||
*/
|
||||
#define elf_check_arch(x) ( ((x) == EM_386) || ((x) == EM_486) )
|
||||
|
||||
/*
|
||||
* These are used to set parameters in the core dumps.
|
||||
*/
|
||||
#define ELF_CLASS ELFCLASS32
|
||||
#define ELF_ARCH EM_386
|
||||
|
||||
#define EXSTACK_DEFAULT true
|
||||
|
||||
/*
|
||||
* i386 is the only target which supplies AT_SYSINFO for the vdso.
|
||||
* All others only supply AT_SYSINFO_EHDR.
|
||||
*/
|
||||
#define DLINFO_ARCH_ITEMS (vdso_info != NULL)
|
||||
#define ARCH_DLINFO \
|
||||
do { \
|
||||
if (vdso_info) { \
|
||||
NEW_AUX_ENT(AT_SYSINFO, vdso_info->entry); \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
#endif /* TARGET_X86_64 */
|
||||
|
||||
#define VDSO_HEADER "vdso.c.inc"
|
||||
|
||||
#endif /* TARGET_I386 */
|
||||
|
||||
#ifdef TARGET_ARM
|
||||
|
||||
#ifndef TARGET_AARCH64
|
||||
|
||||
@@ -10,6 +10,11 @@
|
||||
|
||||
#include "target_ptrace.h"
|
||||
|
||||
#define ELF_CLASS ELFCLASS32
|
||||
#define ELF_ARCH EM_386
|
||||
#define EXSTACK_DEFAULT true
|
||||
#define VDSO_HEADER "vdso.c.inc"
|
||||
|
||||
#define HAVE_ELF_HWCAP 1
|
||||
#define HAVE_ELF_PLATFORM 1
|
||||
#define HAVE_ELF_CORE_DUMP 1
|
||||
@@ -22,4 +27,21 @@ typedef struct target_elf_gregset_t {
|
||||
struct target_user_regs_struct pt;
|
||||
} target_elf_gregset_t;
|
||||
|
||||
/*
|
||||
* This is used to ensure we don't load something for the wrong architecture.
|
||||
*/
|
||||
#define elf_check_arch(x) ((x) == EM_386 || (x) == EM_486)
|
||||
|
||||
/*
|
||||
* i386 is the only target which supplies AT_SYSINFO for the vdso.
|
||||
* All others only supply AT_SYSINFO_EHDR.
|
||||
*/
|
||||
#define DLINFO_ARCH_ITEMS (vdso_info != NULL)
|
||||
#define ARCH_DLINFO \
|
||||
do { \
|
||||
if (vdso_info) { \
|
||||
NEW_AUX_ENT(AT_SYSINFO, vdso_info->entry); \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
#endif
|
||||
|
||||
@@ -10,6 +10,10 @@
|
||||
|
||||
#include "target_ptrace.h"
|
||||
|
||||
#define ELF_CLASS ELFCLASS64
|
||||
#define ELF_ARCH EM_X86_64
|
||||
#define VDSO_HEADER "vdso.c.inc"
|
||||
|
||||
#define HAVE_ELF_HWCAP 1
|
||||
#define HAVE_ELF_PLATFORM 1
|
||||
#define HAVE_ELF_CORE_DUMP 1
|
||||
|
||||
Reference in New Issue
Block a user