diff options
| author | Richard Henderson <richard.henderson@linaro.org> | 2025-07-29 10:14:24 -1000 |
|---|---|---|
| committer | Richard Henderson <richard.henderson@linaro.org> | 2025-08-30 07:04:04 +1000 |
| commit | 73addb3ffc2c2252a9ffc55e56d9ed88d1dccd84 (patch) | |
| tree | fcacd38193cef77d38c3358a9bd292fba96b65fb /linux-user/i386/target_elf.h | |
| parent | 793ca839186df6cc9dda25121932a25c7d0ff366 (diff) | |
| download | focaccia-qemu-73addb3ffc2c2252a9ffc55e56d9ed88d1dccd84.tar.gz focaccia-qemu-73addb3ffc2c2252a9ffc55e56d9ed88d1dccd84.zip | |
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>
Diffstat (limited to 'linux-user/i386/target_elf.h')
| -rw-r--r-- | linux-user/i386/target_elf.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/linux-user/i386/target_elf.h b/linux-user/i386/target_elf.h index f89ac0b611..dc58c0017a 100644 --- a/linux-user/i386/target_elf.h +++ b/linux-user/i386/target_elf.h @@ -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 |