ARM: allow proper single stepping of Thumb BL and BLX instructions
commit068a6c7895607a6af6758ad18bace683f6b7499d
authorNicolas Pitre <nico@fluxnic.net>
Tue, 27 Oct 2009 05:14:33 +0000 (27 01:14 -0400)
committerDavid Brownell <dbrownell@users.sourceforge.net>
Tue, 27 Oct 2009 06:53:21 +0000 (26 23:53 -0700)
treec707c8238dca6fb215b86a9739861173a3444010
parentee8e93cb836bc01581329c5685c888c4d85e6c1b
ARM: allow proper single stepping of Thumb BL and BLX instructions

Whenever an unconditional branch with the H bits set to 0b10 is met, the
offset must be combined with the offset from the following opcode and not
ignored like it is now.

A comment in evaluate_b_bl_blx_thumb() suggests that the Thumb2 decoder
would be a simpler solution.  That might be true when single-stepping of
Thumb2 code is implemented.  But for now this appears to be the simplest
solution to fix Thumb1 support.

Signed-off-by: Nicolas Pitre <nico@marvell.com>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
src/target/arm_simulator.c