Signed-off-by: Richard Henderson <richard.hender...@linaro.org> --- linux-user/elfload.c | 17 +---------------- linux-user/openrisc/target_coredump.c.inc | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 16 deletions(-) create mode 100644 linux-user/openrisc/target_coredump.c.inc
diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 59d179092b..051e9b72cf 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -447,25 +447,10 @@ static const VdsoImageInfo *vdso_image_info(uint32_t elf_flags) #define ELF_CLASS ELFCLASS32 #define ELF_DATA ELFDATA2MSB +#include "target_coredump.c.inc" #define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 8192 -/* See linux kernel arch/openrisc/include/asm/elf.h. */ -#define ELF_NREG 34 /* gprs and pc, sr */ -typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG]; - -static void elf_core_copy_regs(target_elf_gregset_t *regs, - const CPUOpenRISCState *env) -{ - int i; - - for (i = 0; i < 32; i++) { - (*regs)[i] = tswapreg(cpu_get_gpr(env, i)); - } - (*regs)[32] = tswapreg(env->pc); - (*regs)[33] = tswapreg(cpu_get_sr(env)); -} - #endif /* TARGET_OPENRISC */ #ifdef TARGET_SH4 diff --git a/linux-user/openrisc/target_coredump.c.inc b/linux-user/openrisc/target_coredump.c.inc new file mode 100644 index 0000000000..fe6c17f199 --- /dev/null +++ b/linux-user/openrisc/target_coredump.c.inc @@ -0,0 +1,15 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +/* See linux kernel arch/openrisc/include/asm/elf.h. */ +#define ELF_NREG 34 /* gprs and pc, sr */ +typedef target_elf_greg_t target_elf_gregset_t[ELF_NREG]; + +static void elf_core_copy_regs(target_elf_gregset_t *regs, + const CPUOpenRISCState *env) +{ + for (int i = 0; i < 32; i++) { + (*regs)[i] = tswapreg(cpu_get_gpr(env, i)); + } + (*regs)[32] = tswapreg(env->pc); + (*regs)[33] = tswapreg(cpu_get_sr(env)); +} -- 2.43.0