Module: wine Branch: master Commit: 2c5a7743be823caefde72a14ef85221b1d521497 URL: http://source.winehq.org/git/wine.git/?a=commit;h=2c5a7743be823caefde72a14ef...
Author: André Hentschel nerv@dawncrow.de Date: Sat Mar 10 18:26:05 2012 +0100
winedbg: Respect Thumb mode when adjusting PC on ARM.
---
programs/winedbg/be_arm.c | 10 ++++++---- 1 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/programs/winedbg/be_arm.c b/programs/winedbg/be_arm.c index c39043c..6c1cc05 100644 --- a/programs/winedbg/be_arm.c +++ b/programs/winedbg/be_arm.c @@ -205,13 +205,15 @@ static void be_arm_clear_watchpoint(CONTEXT* ctx, unsigned idx)
static int be_arm_adjust_pc_for_break(CONTEXT* ctx, BOOL way) { + INT step = (ctx->Cpsr & 0x20) ? 2 : 4; + if (way) { - ctx->Pc-=4; - return -4; + ctx->Pc -= step; + return -step; } - ctx->Pc+=4; - return 4; + ctx->Pc += step; + return step; }
static int be_arm_fetch_integer(const struct dbg_lvalue* lvalue, unsigned size,