Skip to content
Snippets Groups Projects
Commit 76afa936 authored by Nicolas Pitre's avatar Nicolas Pitre Committed by David Brownell
Browse files

ARM: fix single-step of Thumb unconditional branch


Only type 1 branch instruction has a condition code, not type 2.
Currently they're both tagged with ARM_B which doesn't allow for the
distinction.

Signed-off-by: default avatarNicolas Pitre <nico@marvell.com>
Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
parent 39dd68bc
Branches
No related tags found
No related merge requests found
......@@ -317,8 +317,8 @@ int arm_simulate_step_core(target_t *target, uint32_t *dry_run_pc, struct arm_si
return retval;
instruction_size = 2;
/* check condition code (only for branch instructions) */
if (instruction.type == ARM_B &&
/* check condition code (only for branch (1) instructions) */
if ((opcode & 0xf000) == 0xd000 &&
!thumb_pass_branch_condition(sim->get_cpsr(sim, 0, 32), opcode))
{
if (dry_run_pc)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment