aboutsummaryrefslogtreecommitdiff
path: root/gdb/target.h
diff options
context:
space:
mode:
authorJohn Baldwin <jhb@FreeBSD.org>2023-08-28 14:18:19 -0700
committerJohn Baldwin <jhb@FreeBSD.org>2023-08-28 14:18:19 -0700
commita388ab0b863a07ddb37d1e98ae8e7443ab85746c (patch)
tree9bb1a51cd7e8cd1d955ecac026342577a13d2cd7 /gdb/target.h
parentd39b60f2e036f4af7224adf06c2d70bb3f8f71f3 (diff)
downloadgdb-a388ab0b863a07ddb37d1e98ae8e7443ab85746c.zip
gdb-a388ab0b863a07ddb37d1e98ae8e7443ab85746c.tar.gz
gdb-a388ab0b863a07ddb37d1e98ae8e7443ab85746c.tar.bz2
gdb: Store an x86_xsave_layout in i386_gdbarch_tdep.
This structure is fetched from the current target in i386_gdbarch_init via a new "fetch_x86_xsave_layout" target method. Approved-By: Simon Marchi <simon.marchi@efficios.com>
Diffstat (limited to 'gdb/target.h')
-rw-r--r--gdb/target.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/gdb/target.h b/gdb/target.h
index 0cea955..12851f2 100644
--- a/gdb/target.h
+++ b/gdb/target.h
@@ -86,6 +86,7 @@ typedef const gdb_byte const_gdb_byte;
#include "disasm-flags.h"
#include "tracepoint.h"
#include "gdbsupport/fileio.h"
+#include "gdbsupport/x86-xstate.h"
#include "gdbsupport/break-common.h" /* For enum target_hw_bp_type. */
@@ -1325,6 +1326,10 @@ struct target_ops
virtual bool store_memtags (CORE_ADDR address, size_t len,
const gdb::byte_vector &tags, int type)
TARGET_DEFAULT_NORETURN (tcomplain ());
+
+ /* Return the x86 XSAVE extended state area layout. */
+ virtual x86_xsave_layout fetch_x86_xsave_layout ()
+ TARGET_DEFAULT_RETURN (x86_xsave_layout ());
};
/* Deleter for std::unique_ptr. See comments in
@@ -2305,6 +2310,8 @@ extern bool target_fetch_memtags (CORE_ADDR address, size_t len,
extern bool target_store_memtags (CORE_ADDR address, size_t len,
const gdb::byte_vector &tags, int type);
+extern x86_xsave_layout target_fetch_x86_xsave_layout ();
+
/* Command logging facility. */
extern void target_log_command (const char *p);