winedbg: Respect Thumb mode when adjusting PC on ARM.
This commit is contained in:
parent
c6008a06ac
commit
2c5a7743be
|
@ -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)
|
static int be_arm_adjust_pc_for_break(CONTEXT* ctx, BOOL way)
|
||||||
{
|
{
|
||||||
|
INT step = (ctx->Cpsr & 0x20) ? 2 : 4;
|
||||||
|
|
||||||
if (way)
|
if (way)
|
||||||
{
|
{
|
||||||
ctx->Pc-=4;
|
ctx->Pc -= step;
|
||||||
return -4;
|
return -step;
|
||||||
}
|
}
|
||||||
ctx->Pc+=4;
|
ctx->Pc += step;
|
||||||
return 4;
|
return step;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int be_arm_fetch_integer(const struct dbg_lvalue* lvalue, unsigned size,
|
static int be_arm_fetch_integer(const struct dbg_lvalue* lvalue, unsigned size,
|
||||||
|
|
Loading…
Reference in New Issue