summaryrefslogtreecommitdiff
path: root/src/arch/arm
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/arm')
-rw-r--r--src/arch/arm/v7/fetch.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/arch/arm/v7/fetch.c b/src/arch/arm/v7/fetch.c
index 18d61f0..246d136 100644
--- a/src/arch/arm/v7/fetch.c
+++ b/src/arch/arm/v7/fetch.c
@@ -139,7 +139,18 @@ void help_fetching_with_instruction_bl_with_orig(GArchInstruction *instr, GArchP
assert(get_mrange_length(range) == 4);
- pc += 4;
+ switch (iset)
+ {
+ case AV7IS_ARM:
+ pc += 8;
+ break;
+ case AV7IS_THUMB:
+ pc += 4;
+ break;
+ default:
+ assert(0);
+ break;
+ }
op = g_arch_instruction_get_operand(instr, 0);