Module: wine Branch: master Commit: 2c5a7743be823caefde72a14ef85221b1d521497 URL: http://source.winehq.org/git/wine.git/?a=commit;h=2c5a7743be823caefde72a14ef... Author: André Hentschel <nerv(a)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,