Guest cores for i386 and x86_64 carried only the general-purpose
registers, so a debugger opening one reported the x87 stack, and on
x86_64 the SSE registers too, as unavailable.

These add HAVE_ELF_CORE_FPREGS for both, following the same shape as the
recent alpha, mips, riscv and sh4 conversions.  x86_64 can reuse
cpu_x86_fxsave() as-is; i386 needs the FSAVE image without the FNINIT
that FSAVE performs afterward, so the first patch splits that out.

The SSE registers are still missing from an i386 core: the kernel puts
those in a separate NT_PRXFPREG note, which the generic core dump code
has no support for.

Matt Turner (3):
  target/i386: split the FNINIT out of do_fsave()
  linux-user/i386: write the floating-point registers to a core dump
  linux-user/x86_64: write the floating-point registers to a core dump

 linux-user/i386/elfload.c      |  7 +++++++
 linux-user/i386/target_elf.h   | 18 ++++++++++++++++++
 linux-user/x86_64/elfload.c    | 11 +++++++++++
 linux-user/x86_64/target_elf.h | 20 ++++++++++++++++++++
 target/i386/cpu.h              |  2 ++
 target/i386/tcg/fpu_helper.c   | 13 +++++++++++--
 6 files changed, 69 insertions(+), 2 deletions(-)

-- 
2.54.0


Reply via email to