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:
Richard Henderson
2025-08-30 07:04:04 +10:00
parent 793ca83918
commit 73addb3ffc
3 changed files with 26 additions and 39 deletions
-39
View File
@@ -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
+22
View File
@@ -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
+4
View File
@@ -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