summaryrefslogtreecommitdiff
path: root/overlay/mgdb/gdb/amd64-winnt-regcache.c
diff options
context:
space:
mode:
Diffstat (limited to 'overlay/mgdb/gdb/amd64-winnt-regcache.c')
-rw-r--r--overlay/mgdb/gdb/amd64-winnt-regcache.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/overlay/mgdb/gdb/amd64-winnt-regcache.c b/overlay/mgdb/gdb/amd64-winnt-regcache.c
index b052496..85caabe 100644
--- a/overlay/mgdb/gdb/amd64-winnt-regcache.c
+++ b/overlay/mgdb/gdb/amd64-winnt-regcache.c
@@ -37,6 +37,8 @@ static void amd64_winnt_supply_core_regs(
struct regcache * rcache,
mcontext_t * regctx)
{
+ amd64_winnt_supply_reg(rcache,AMD64_RIP_REGNUM,regctx->uc_rip);
+
amd64_winnt_supply_reg(rcache,AMD64_RAX_REGNUM,regctx->uc_rax);
amd64_winnt_supply_reg(rcache,AMD64_RBX_REGNUM,regctx->uc_rbx);
amd64_winnt_supply_reg(rcache,AMD64_RCX_REGNUM,regctx->uc_rcx);
@@ -62,6 +64,15 @@ static void amd64_winnt_supply_core_regs(
amd64_winnt_supply_reg(rcache,AMD64_GS_REGNUM,regctx->uc_seg_gs);
amd64_winnt_supply_reg(rcache,AMD64_EFLAGS_REGNUM,regctx->uc_eflags);
+
+ amd64_winnt_supply_reg(rcache,AMD64_ST0_REGNUM+0,regctx->uc_flt.uc_flt_save.uc_control_word);
+ amd64_winnt_supply_reg(rcache,AMD64_ST0_REGNUM+1,regctx->uc_flt.uc_flt_save.uc_status_word);
+ amd64_winnt_supply_reg(rcache,AMD64_ST0_REGNUM+2,regctx->uc_flt.uc_flt_save.uc_tag_word);
+ amd64_winnt_supply_reg(rcache,AMD64_ST0_REGNUM+3,regctx->uc_flt.uc_flt_save.uc_error_selector);
+ amd64_winnt_supply_reg(rcache,AMD64_ST0_REGNUM+4,regctx->uc_flt.uc_flt_save.uc_error_offset);
+ amd64_winnt_supply_reg(rcache,AMD64_ST0_REGNUM+5,regctx->uc_flt.uc_flt_save.uc_data_selector);
+ amd64_winnt_supply_reg(rcache,AMD64_ST0_REGNUM+6,regctx->uc_flt.uc_flt_save.uc_data_offset);
+ amd64_winnt_supply_reg(rcache,AMD64_ST0_REGNUM+7,regctx->uc_flt.uc_flt_save.uc_error_opcode);
}
void amd64_winnt_fetch_registers(