Re: [PATCH v6 00/15] Handle variable XSAVE layouts

John Baldwin
2023-07-14T15:59:12Z

On 7/14/23 8:51 AM, John Baldwin wrote:
> Changes since V5:
>
> - A few fixes not tied to the new layout handling have been merged to
> master.
>
> - Reworded the comment describing i386_*_core_read_xsave_info in patches
> 6 and 8.
>
> Aleksandar Paunovic (2):
> gdbserver: Refactor the legacy region within the xsave struct
> gdbserver: Use x86_xstate_layout to parse the XSAVE extended state
> area.
>
> John Baldwin (13):
> x86: Add an x86_xsave_layout structure to handle variable XSAVE
> layouts.
> gdb: Store an x86_xsave_layout in i386_gdbarch_tdep.
> core: Support fetching x86 XSAVE layout from architectures.
> nat/x86-cpuid.h: Add x86_cpuid_count wrapper around __get_cpuid_count.
> x86 nat: Add helper functions to save the XSAVE layout for the host.
> gdb: Update x86 FreeBSD architectures to support XSAVE layouts.
> gdb: Support XSAVE layouts for the current host in the FreeBSD x86
> targets.
> gdb: Update x86 Linux architectures to support XSAVE layouts.
> gdb: Support XSAVE layouts for the current host in the Linux x86
> targets.
> gdb: Use x86_xstate_layout to parse the XSAVE extended state area.
> gdbserver: Add a function to set the XSAVE mask and size.
> x86: Remove X86_XSTATE_SIZE and related constants.
> gdbserver: Simplify handling of ZMM registers.

I would like to get this series into GDB 14 if possible. Without it one
cannot examine certain XSAVE registers (e.g. YMM for AVX) in core dumps
generated on modern AMD CPUs on both Linux and FreeBSD.

--
John Baldwin