mirror of
https://gitlab.com/qemu-project/qemu.git
synced 2026-08-26 22:23:12 -04:00
linux-user/hppa: write the floating-point registers to a core dump
Write an NT_FPREGSET note for HPPA, matching the kernel's elf_fpregset_t layout (ELF_NFPREG = 32): fr0-fr31 as 64-bit values. Signed-off-by: Matt Turner <mattst88@gmail.com> Reviewed-by: Helge Deller <deller@gmx.de> Signed-off-by: Helge Deller <deller@gmx.de>
This commit is contained in:
parent
bc22871fc0
commit
474ad68669
2 changed files with 16 additions and 0 deletions
|
|
@ -17,6 +17,13 @@ const char *get_elf_platform(CPUState *cs)
|
|||
return "PARISC";
|
||||
}
|
||||
|
||||
void elf_core_copy_fpregs(target_elf_fpregset_t *r, const CPUArchState *env)
|
||||
{
|
||||
for (int i = 0; i < 32; i++) {
|
||||
r->fpr[i] = tswap64(env->fr[i]);
|
||||
}
|
||||
}
|
||||
|
||||
void elf_core_copy_regs(target_elf_gregset_t *r, const CPUArchState *env)
|
||||
{
|
||||
int i;
|
||||
|
|
|
|||
|
|
@ -39,4 +39,13 @@ typedef struct target_elf_gregset_t {
|
|||
#define STACK_ALIGNMENT 64
|
||||
#define VDSO_HEADER "vdso.c.inc"
|
||||
|
||||
#define HAVE_ELF_CORE_FPREGS 1
|
||||
|
||||
/*
|
||||
* Matches the kernel's elf_fpregset_t (ELF_NFPREG = 32): fr0-fr31.
|
||||
*/
|
||||
typedef struct target_elf_fpregset_t {
|
||||
uint64_t fpr[32];
|
||||
} target_elf_fpregset_t;
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue