core: Support fetching x86 XSAVE layout from architectures.
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)
commitc689d1fe58b2c0faf51e4f574d50271f1d0648e3
treea9d6bb2b8f2485874a9d4ec24b079a21dd11fde8
parenta388ab0b863a07ddb37d1e98ae8e7443ab85746c
core: Support fetching x86 XSAVE layout from architectures.

Add gdbarch_core_read_x86_xsave_layout to fetch the x86 XSAVE layout
structure from a core file.

Current OS's do not export the offsets of XSAVE state components in
core dumps, so provide an i387_guess_xsave_layout helper function to
set offsets based on known combinations of XCR0 masks and total state
sizes.  Eventually when core dumps do contain this information this
function should only be used as a fall back for older core dumps.

Approved-By: Simon Marchi <simon.marchi@efficios.com>
gdb/corelow.c
gdb/gdbarch-gen.h
gdb/gdbarch.c
gdb/gdbarch.h
gdb/gdbarch_components.py
gdb/i387-tdep.c
gdb/i387-tdep.h