A Thumb BLX instruction is branching to ARM code, and therefore the first 2 bits of the target address must be cleared.
Signed-off-by: Nicolas Pitre <n...@marvell.com> --- src/target/arm_disassembler.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/src/target/arm_disassembler.c b/src/target/arm_disassembler.c index 5b0046b..ee087b1 100644 --- a/src/target/arm_disassembler.c +++ b/src/target/arm_disassembler.c @@ -1768,6 +1768,7 @@ static int evaluate_b_bl_blx_thumb(uint16_t opcode, case 1: instruction->type = ARM_BLX; mnemonic = "BLX"; + target_address &= 0xfffffffc; break; /* BL/BLX prefix */ case 2: -- 1.6.5.1.101.g325e5 _______________________________________________ Openocd-development mailing list Openocd-development@lists.berlios.de https://lists.berlios.de/mailman/listinfo/openocd-development