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