gdb: Update x86 FreeBSD architectures to support XSAVE layouts.
authorJohn Baldwin <jhb@FreeBSD.org>
Mon, 28 Aug 2023 21:18:19 +0000 (14:18 -0700)
committerJohn Baldwin <jhb@FreeBSD.org>
Mon, 28 Aug 2023 21:18:19 +0000 (14:18 -0700)
commit22ca5c10279903a221ba4580afef71af0c639704
tree1005c17ca099d32b57aa3c844d80041d9bec5e1e
parent2e639674c56a35a14ebb33bcfcd9ff614a516735
gdb: Update x86 FreeBSD architectures to support XSAVE layouts.

Refactor i386fbsd_core_read_xcr0 to fetch and return a corresponding
x86_xsave_layout as well as xcr0 using the size of an existing
NT_X86_XSTATE core dump to determine the offsets via
i387_guess_xsave_layout.  Use this to add an implementation of
gdbarch_core_xfer_x86_xsave_layout.

Use tdep->xsave_layout.sizeof_xsave as the size of the XSTATE register
set and only fetch/store the register set if this size is non-zero.

Approved-By: Simon Marchi <simon.marchi@efficios.com>
gdb/amd64-fbsd-tdep.c
gdb/i386-fbsd-tdep.c
gdb/i386-fbsd-tdep.h