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.
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@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 | 2 --
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, 20 insertions(+), 26 deletions(-)
diff --git a/linux-user/aarch64/target_elf.h b/linux-user/aarch64/target_elf.h
index 9e09bfbf12..5d41bf4ec6 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 HAVE_ELF_HWCAP 1
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 4614acb7c0..b3e9604407 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
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 9b6363a0a7..76930c9369 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 HAVE_ELF_PLATFORM 1
diff --git a/linux-user/i386/target_elf.h b/linux-user/i386/target_elf.h
index 9acac275b8..bfd0040a79 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"
diff --git a/linux-user/loongarch64/target_elf.h b/linux-user/loongarch64/target_elf.h
index e121e409d7..93e71dbb16 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 568b7be389..762f07c47c 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
/* See linux kernel: arch/m68k/include/asm/elf.h. */
#define ELF_NREG 20
diff --git a/linux-user/microblaze/target_elf.h b/linux-user/microblaze/target_elf.h
index 7ce4c10d00..45146ae102 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_NREG 38
diff --git a/linux-user/mips/target_elf.h b/linux-user/mips/target_elf.h
index 0433de4529..dabf6b1261 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 HAVE_ELF_HWCAP 1
diff --git a/linux-user/mips64/target_elf.h b/linux-user/mips64/target_elf.h
index 60ecb4d0ae..e722179af8 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 1d3c00c83d..ddeac77efc 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
/* See linux kernel arch/openrisc/include/asm/elf.h. */
diff --git a/linux-user/ppc/target_elf.h b/linux-user/ppc/target_elf.h
index 6bfe27fc45..fbcb869a57 100644
--- a/linux-user/ppc/target_elf.h
+++ b/linux-user/ppc/target_elf.h
@@ -11,13 +11,11 @@
#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 HAVE_ELF_HWCAP 1
#define HAVE_ELF_HWCAP2 1
diff --git a/linux-user/riscv/target_elf.h b/linux-user/riscv/target_elf.h
index 51b8def1d1..dbbfdf54d3 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 3d6317d14f..a46ba42e33 100644
--- a/linux-user/s390x/target_elf.h
+++ b/linux-user/s390x/target_elf.h
@@ -9,7 +9,7 @@
#define S390X_TARGET_ELF_H
#define ELF_CLASS ELFCLASS64
-#define ELF_ARCH EM_S390
+#define ELF_MACHINE EM_S390
#define VDSO_HEADER "vdso.c.inc"
#define HAVE_ELF_HWCAP 1
diff --git a/linux-user/sh4/target_elf.h b/linux-user/sh4/target_elf.h
index b305cac5b0..5bd72a9602 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 HAVE_ELF_HWCAP 1
diff --git a/linux-user/sparc/target_elf.h b/linux-user/sparc/target_elf.h
index f89c708c46..6b0cac3caf 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
#define HAVE_ELF_HWCAP 1
diff --git a/linux-user/x86_64/target_elf.h b/linux-user/x86_64/target_elf.h
index d924314679..c7c2f3b6a1 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 HAVE_ELF_HWCAP 1
diff --git a/linux-user/xtensa/target_elf.h b/linux-user/xtensa/target_elf.h
index 011a77a1d7..c2ea12cb84 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
/* See linux kernel: arch/xtensa/include/asm/elf.h. */
#define ELF_NREG 128
diff --git a/linux-user/elfload.c b/linux-user/elfload.c
index fdbc55ebc2..3343058865 100644
--- a/linux-user/elfload.c
+++ b/linux-user/elfload.c
@@ -130,12 +130,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