Signed-off-by: Richard Henderson <richard.hender...@linaro.org> --- linux-user/elfload.c | 16 +--------------- linux-user/aarch64/target_coredump.c.inc | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 15 deletions(-) create mode 100644 linux-user/aarch64/target_coredump.c.inc
diff --git a/linux-user/elfload.c b/linux-user/elfload.c index b35f35b2a6..57bb011e63 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -304,21 +304,7 @@ static const VdsoImageInfo *vdso_image_info(uint32_t elf_flags) #define ELF_ARCH EM_AARCH64 #define ELF_CLASS ELFCLASS64 -#define ELF_NREG 34 -typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG]; - -static void elf_core_copy_regs(target_elf_gregset_t *regs, - const CPUARMState *env) -{ - int i; - - for (i = 0; i < 32; i++) { - (*regs)[i] = tswapreg(env->xregs[i]); - } - (*regs)[32] = tswapreg(env->pc); - (*regs)[33] = tswapreg(pstate_read((CPUARMState *)env)); -} - +#include "target_coredump.c.inc" #define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 4096 diff --git a/linux-user/aarch64/target_coredump.c.inc b/linux-user/aarch64/target_coredump.c.inc new file mode 100644 index 0000000000..9b653aa12f --- /dev/null +++ b/linux-user/aarch64/target_coredump.c.inc @@ -0,0 +1,14 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#define ELF_NREG 34 +typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG]; + +static void elf_core_copy_regs(target_elf_gregset_t *regs, + const CPUARMState *env) +{ + for (int i = 0; i < 32; i++) { + (*regs)[i] = tswapreg(env->xregs[i]); + } + (*regs)[32] = tswapreg(env->pc); + (*regs)[33] = tswapreg(pstate_read((CPUARMState *)env)); +} -- 2.43.0