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>
26 lines
699 B
C
26 lines
699 B
C
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
/*
|
|
* Copyright (c) 2021 Loongson Technology Corporation Limited
|
|
*/
|
|
|
|
#ifndef LOONGARCH_TARGET_ELF_H
|
|
#define LOONGARCH_TARGET_ELF_H
|
|
|
|
#include "target_ptrace.h"
|
|
|
|
#define ELF_CLASS ELFCLASS64
|
|
#define ELF_MACHINE EM_LOONGARCH
|
|
#define EXSTACK_DEFAULT true
|
|
#define elf_check_arch(x) ((x) == EM_LOONGARCH)
|
|
#define VDSO_HEADER "vdso.c.inc"
|
|
|
|
#define HAVE_ELF_HWCAP 1
|
|
#define HAVE_ELF_PLATFORM 1
|
|
#define HAVE_ELF_CORE_DUMP 1
|
|
|
|
/* See linux kernel: arch/loongarch/include/asm/elf.h */
|
|
typedef struct target_elf_gregset_t {
|
|
struct target_user_pt_regs pt;
|
|
} target_elf_gregset_t;
|
|
|
|
#endif
|