PowerPC was the one outlier that defined both ELF_ARCH and ELF_MACHINE; ELF_ARCH was defined incorrectly, necessitating the definition of elf_check_arch.
However, the elf file header field in question is called e_machine, so ELF_MACHINE is in fact the better name. Mechanically change most target/target_elf.h files, then adjust ppc/target_elf.h manually. Do not provide a default for ELF_MACHINE. Signed-off-by: Richard Henderson <richard.hender...@linaro.org> --- linux-user/aarch64/target_elf.h | 2 +- linux-user/alpha/target_elf.h | 2 +- linux-user/arm/target_elf.h | 2 +- linux-user/hexagon/target_elf.h | 2 +- linux-user/hppa/target_elf.h | 2 +- linux-user/i386/target_elf.h | 2 +- linux-user/loongarch64/target_elf.h | 2 +- linux-user/m68k/target_elf.h | 2 +- linux-user/microblaze/target_elf.h | 2 +- linux-user/mips/target_elf.h | 2 +- linux-user/mips64/target_elf.h | 2 +- linux-user/openrisc/target_elf.h | 2 +- linux-user/ppc/target_elf.h | 5 +---- linux-user/riscv/target_elf.h | 2 +- linux-user/s390x/target_elf.h | 2 +- linux-user/sh4/target_elf.h | 2 +- linux-user/sparc/target_elf.h | 4 ++-- linux-user/x86_64/target_elf.h | 2 +- linux-user/xtensa/target_elf.h | 2 +- linux-user/elfload.c | 6 +----- 20 files changed, 21 insertions(+), 28 deletions(-) diff --git a/linux-user/aarch64/target_elf.h b/linux-user/aarch64/target_elf.h index 8f704055ec..16acf6d47f 100644 --- a/linux-user/aarch64/target_elf.h +++ b/linux-user/aarch64/target_elf.h @@ -8,7 +8,7 @@ #ifndef AARCH64_TARGET_ELF_H #define AARCH64_TARGET_ELF_H -#define ELF_ARCH EM_AARCH64 +#define ELF_MACHINE EM_AARCH64 #define ELF_CLASS ELFCLASS64 #define USE_ELF_CORE_DUMP diff --git a/linux-user/alpha/target_elf.h b/linux-user/alpha/target_elf.h index f9d6372c9f..864dc6e2e6 100644 --- a/linux-user/alpha/target_elf.h +++ b/linux-user/alpha/target_elf.h @@ -9,6 +9,6 @@ #define ALPHA_TARGET_ELF_H #define ELF_CLASS ELFCLASS64 -#define ELF_ARCH EM_ALPHA +#define ELF_MACHINE EM_ALPHA #endif diff --git a/linux-user/arm/target_elf.h b/linux-user/arm/target_elf.h index 2f8564a484..f769108adb 100644 --- a/linux-user/arm/target_elf.h +++ b/linux-user/arm/target_elf.h @@ -8,7 +8,7 @@ #ifndef ARM_TARGET_ELF_H #define ARM_TARGET_ELF_H -#define ELF_ARCH EM_ARM +#define ELF_MACHINE EM_ARM #define ELF_CLASS ELFCLASS32 #define EXSTACK_DEFAULT true #define USE_ELF_CORE_DUMP diff --git a/linux-user/hexagon/target_elf.h b/linux-user/hexagon/target_elf.h index a9f6d77fc6..f81ae3895a 100644 --- a/linux-user/hexagon/target_elf.h +++ b/linux-user/hexagon/target_elf.h @@ -19,6 +19,6 @@ #define HEXAGON_TARGET_ELF_H #define ELF_CLASS ELFCLASS32 -#define ELF_ARCH EM_HEXAGON +#define ELF_MACHINE EM_HEXAGON #endif diff --git a/linux-user/hppa/target_elf.h b/linux-user/hppa/target_elf.h index ed2ce895f5..c2484230b0 100644 --- a/linux-user/hppa/target_elf.h +++ b/linux-user/hppa/target_elf.h @@ -9,7 +9,7 @@ #define HPPA_TARGET_ELF_H #define ELF_CLASS ELFCLASS32 -#define ELF_ARCH EM_PARISC +#define ELF_MACHINE EM_PARISC #define STACK_GROWS_DOWN 0 #define STACK_ALIGNMENT 64 #define VDSO_HEADER "vdso.c.inc" diff --git a/linux-user/i386/target_elf.h b/linux-user/i386/target_elf.h index 032abe5d24..f5eeb36b31 100644 --- a/linux-user/i386/target_elf.h +++ b/linux-user/i386/target_elf.h @@ -9,7 +9,7 @@ #define I386_TARGET_ELF_H #define ELF_CLASS ELFCLASS32 -#define ELF_ARCH EM_386 +#define ELF_MACHINE EM_386 #define EXSTACK_DEFAULT true #define VDSO_HEADER "vdso.c.inc" #define USE_ELF_CORE_DUMP diff --git a/linux-user/loongarch64/target_elf.h b/linux-user/loongarch64/target_elf.h index e99aa3df4c..a76aa9f56c 100644 --- a/linux-user/loongarch64/target_elf.h +++ b/linux-user/loongarch64/target_elf.h @@ -7,7 +7,7 @@ #define LOONGARCH_TARGET_ELF_H #define ELF_CLASS ELFCLASS64 -#define ELF_ARCH EM_LOONGARCH +#define ELF_MACHINE EM_LOONGARCH #define EXSTACK_DEFAULT true #define elf_check_arch(x) ((x) == EM_LOONGARCH) #define VDSO_HEADER "vdso.c.inc" diff --git a/linux-user/m68k/target_elf.h b/linux-user/m68k/target_elf.h index baabc1c040..77533a9086 100644 --- a/linux-user/m68k/target_elf.h +++ b/linux-user/m68k/target_elf.h @@ -9,7 +9,7 @@ #define M68K_TARGET_ELF_H #define ELF_CLASS ELFCLASS32 -#define ELF_ARCH EM_68K +#define ELF_MACHINE EM_68K #define USE_ELF_CORE_DUMP #endif diff --git a/linux-user/microblaze/target_elf.h b/linux-user/microblaze/target_elf.h index 738a101f67..037ff595b6 100644 --- a/linux-user/microblaze/target_elf.h +++ b/linux-user/microblaze/target_elf.h @@ -9,7 +9,7 @@ #define MICROBLAZE_TARGET_ELF_H #define ELF_CLASS ELFCLASS32 -#define ELF_ARCH EM_MICROBLAZE +#define ELF_MACHINE EM_MICROBLAZE #define elf_check_arch(x) ((x) == EM_MICROBLAZE || (x) == EM_MICROBLAZE_OLD) #define USE_ELF_CORE_DUMP diff --git a/linux-user/mips/target_elf.h b/linux-user/mips/target_elf.h index 850a6d83cc..06a88fe254 100644 --- a/linux-user/mips/target_elf.h +++ b/linux-user/mips/target_elf.h @@ -9,7 +9,7 @@ #define MIPS_TARGET_ELF_H #define ELF_CLASS ELFCLASS32 -#define ELF_ARCH EM_MIPS +#define ELF_MACHINE EM_MIPS #define EXSTACK_DEFAULT true #define USE_ELF_CORE_DUMP diff --git a/linux-user/mips64/target_elf.h b/linux-user/mips64/target_elf.h index 77f3b4685a..c0c7f3e97c 100644 --- a/linux-user/mips64/target_elf.h +++ b/linux-user/mips64/target_elf.h @@ -9,7 +9,7 @@ #define MIPS64_TARGET_ELF_H #define ELF_CLASS ELFCLASS64 -#define ELF_ARCH EM_MIPS +#define ELF_MACHINE EM_MIPS #define EXSTACK_DEFAULT true #ifdef TARGET_ABI_MIPSN32 diff --git a/linux-user/openrisc/target_elf.h b/linux-user/openrisc/target_elf.h index 0a2b3ef762..d7a85cc0d0 100644 --- a/linux-user/openrisc/target_elf.h +++ b/linux-user/openrisc/target_elf.h @@ -8,7 +8,7 @@ #ifndef OPENRISC_TARGET_ELF_H #define OPENRISC_TARGET_ELF_H -#define ELF_ARCH EM_OPENRISC +#define ELF_MACHINE EM_OPENRISC #define ELF_CLASS ELFCLASS32 #define USE_ELF_CORE_DUMP diff --git a/linux-user/ppc/target_elf.h b/linux-user/ppc/target_elf.h index d42b9dc9cb..c4cc40a4aa 100644 --- a/linux-user/ppc/target_elf.h +++ b/linux-user/ppc/target_elf.h @@ -8,16 +8,13 @@ #ifndef PPC_TARGET_ELF_H #define PPC_TARGET_ELF_H -#define ELF_MACHINE PPC_ELF_MACHINE - #ifdef TARGET_PPC64 -# define elf_check_arch(x) ((x) == EM_PPC64) # define ELF_CLASS ELFCLASS64 #else # define ELF_CLASS ELFCLASS32 # define EXSTACK_DEFAULT true #endif -#define ELF_ARCH EM_PPC +#define ELF_MACHINE PPC_ELF_MACHINE /* * The requirements here are: diff --git a/linux-user/riscv/target_elf.h b/linux-user/riscv/target_elf.h index 61446dd945..ce8df23cd7 100644 --- a/linux-user/riscv/target_elf.h +++ b/linux-user/riscv/target_elf.h @@ -8,7 +8,7 @@ #ifndef RISCV_TARGET_ELF_H #define RISCV_TARGET_ELF_H -#define ELF_ARCH EM_RISCV +#define ELF_MACHINE EM_RISCV #ifdef TARGET_RISCV32 #define ELF_CLASS ELFCLASS32 diff --git a/linux-user/s390x/target_elf.h b/linux-user/s390x/target_elf.h index aa12ecf36b..a7c6e33300 100644 --- a/linux-user/s390x/target_elf.h +++ b/linux-user/s390x/target_elf.h @@ -10,7 +10,7 @@ #define ELF_CLASS ELFCLASS64 #define ELF_DATA ELFDATA2MSB -#define ELF_ARCH EM_S390 +#define ELF_MACHINE EM_S390 #define VDSO_HEADER "vdso.c.inc" #define USE_ELF_CORE_DUMP diff --git a/linux-user/sh4/target_elf.h b/linux-user/sh4/target_elf.h index 68b58beaa4..053ea53aa8 100644 --- a/linux-user/sh4/target_elf.h +++ b/linux-user/sh4/target_elf.h @@ -9,7 +9,7 @@ #define SH4_TARGET_ELF_H #define ELF_CLASS ELFCLASS32 -#define ELF_ARCH EM_SH +#define ELF_MACHINE EM_SH #define USE_ELF_CORE_DUMP #endif diff --git a/linux-user/sparc/target_elf.h b/linux-user/sparc/target_elf.h index 8bd6e3e427..8071638e18 100644 --- a/linux-user/sparc/target_elf.h +++ b/linux-user/sparc/target_elf.h @@ -10,13 +10,13 @@ #ifndef TARGET_SPARC64 # define ELF_CLASS ELFCLASS32 -# define ELF_ARCH EM_SPARC +# define ELF_MACHINE EM_SPARC #elif defined(TARGET_ABI32) # define ELF_CLASS ELFCLASS32 # define elf_check_arch(x) ((x) == EM_SPARC32PLUS || (x) == EM_SPARC) #else # define ELF_CLASS ELFCLASS64 -# define ELF_ARCH EM_SPARCV9 +# define ELF_MACHINE EM_SPARCV9 #endif #endif diff --git a/linux-user/x86_64/target_elf.h b/linux-user/x86_64/target_elf.h index 7eac11e338..13035a7a5b 100644 --- a/linux-user/x86_64/target_elf.h +++ b/linux-user/x86_64/target_elf.h @@ -9,7 +9,7 @@ #define X86_64_TARGET_ELF_H #define ELF_CLASS ELFCLASS64 -#define ELF_ARCH EM_X86_64 +#define ELF_MACHINE EM_X86_64 #define VDSO_HEADER "vdso.c.inc" #define USE_ELF_CORE_DUMP diff --git a/linux-user/xtensa/target_elf.h b/linux-user/xtensa/target_elf.h index cacfb6e81a..d8ecce6a96 100644 --- a/linux-user/xtensa/target_elf.h +++ b/linux-user/xtensa/target_elf.h @@ -9,7 +9,7 @@ #define XTENSA_TARGET_ELF_H #define ELF_CLASS ELFCLASS32 -#define ELF_ARCH EM_XTENSA +#define ELF_MACHINE EM_XTENSA #define USE_ELF_CORE_DUMP #endif diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 25a3d5c9cb..41f022569b 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -138,12 +138,8 @@ typedef abi_uint target_gid_t; #endif typedef abi_int target_pid_t; -#ifndef ELF_MACHINE -#define ELF_MACHINE ELF_ARCH -#endif - #ifndef elf_check_arch -#define elf_check_arch(x) ((x) == ELF_ARCH) +#define elf_check_arch(x) ((x) == ELF_MACHINE) #endif #ifndef elf_check_abi -- 2.43.0