=?UTF-8?Q?Andr=C3=A9=20Hentschel=20?=: winedbg: Respect Thumb mode when adjusting PC on ARM.
Alexandre Julliard
julliard at winehq.org
Mon Mar 12 11:59:55 CDT 2012
Module: wine
Branch: master
Commit: 2c5a7743be823caefde72a14ef85221b1d521497
URL: http://source.winehq.org/git/wine.git/?a=commit;h=2c5a7743be823caefde72a14ef85221b1d521497
Author: André Hentschel <nerv at 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,
More information about the wine-cvs
mailing list