From a09d14a3ecb7014adb39c8f6407366c7e12aec2e Mon Sep 17 00:00:00 2001 From: midipix Date: Mon, 23 Sep 2019 19:15:28 +0000 Subject: mgdb: amd64_winnt_supply_core_regs(): add missing bits. --- overlay/mgdb/gdb/amd64-winnt-regcache.c | 11 +++++++++++ 1 file changed, 11 insertions(+) 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( -- cgit v1.2.3