void fetch_registers (struct regcache *, int) override;
void store_registers (struct regcache *, int) override;
-#if defined(PT_GETXMMREGS) || defined(PT_GETXSTATE_INFO)
const struct target_desc *read_description () override;
-#endif
void resume (ptid_t, int, enum gdb_signal) override;
static size_t xsave_len;
#endif
-#ifdef HAVE_PT_GETXMMREGS
static int have_ptrace_xmmregs;
-#endif
/* Fetch register REGNUM from the inferior. If REGNUM is -1, do this
for all registers. */
return;
}
#endif
-#ifdef HAVE_PT_GETXMMREGS
if (have_ptrace_xmmregs != 0)
{
char xmmregs[I387_SIZEOF_FXSAVE];
i387_supply_fxsave (regcache, regnum, xmmregs);
return;
}
-#endif
struct fpreg fpregs;
return;
}
#endif
-#ifdef HAVE_PT_GETXMMREGS
if (have_ptrace_xmmregs != 0)
{
char xmmregs[I387_SIZEOF_FXSAVE];
perror_with_name (_("Couldn't write XMM registers"));
return;
}
-#endif
struct fpreg fpregs;
}
\f
-#if defined(PT_GETXMMREGS) || defined(PT_GETXSTATE_INFO)
/* Implement the read_description method. */
const struct target_desc *
static int xsave_probed;
static uint64_t xcr0;
#endif
-#ifdef PT_GETXMMREGS
static int xmm_probed;
-#endif
#ifdef PT_GETXSTATE_INFO
if (!xsave_probed)
return i386_target_description (xcr0, true);
#endif
-#ifdef PT_GETXMMREGS
if (!xmm_probed)
{
char xmmregs[I387_SIZEOF_FXSAVE];
if (have_ptrace_xmmregs)
return i386_target_description (X86_XSTATE_SSE_MASK, true);
-#endif
return i386_target_description (X86_XSTATE_X87_MASK, true);
}
-#endif
#if defined(HAVE_PT_GETDBREGS) && defined(USE_SIGTRAP_SIGINFO)
/* Implement the supports_stopped_by_hw_breakpoints method. */