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
