Without this fix, the following code cannot be single stepped:

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

---
diff --git a/src/target/arm_simulator.c b/src/target/arm_simulator.c
index 93fb3dd..e2f49c3 100644
--- a/src/target/arm_simulator.c
+++ b/src/target/arm_simulator.c
@@ -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

_______________________________________________
Openocd-development mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to