]> git.sur5r.net Git - openocd/commitdiff
fix single step of bx instruction going into Thumb mode
authorNicolas Pitre <nico@fluxnic.net>
Mon, 19 Oct 2009 19:49:46 +0000 (15:49 -0400)
committerØyvind Harboe <oyvind.harboe@zylin.com>
Mon, 19 Oct 2009 20:04:07 +0000 (22:04 +0200)
Without this fix, the following code cannot be single stepped:

add ip, pc, #1
bx ip
[thumb code here]

src/target/arm_simulator.c

index 93fb3dd9b522b93ec0319d11b4e66f06362202a7..e2f49c390331dbc988178d9159e7850c702b0e9a 100644 (file)
@@ -358,7 +358,7 @@ int arm_simulate_step_core(target_t *target, uint32_t *dry_run_pc, struct arm_si
 
                if (dry_run_pc)
                {
-                       *dry_run_pc = target;
+                       *dry_run_pc = target & ~1;
                        return ERROR_OK;
                }
                else