diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2015-07-09 23:05:13 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2015-07-09 23:05:13 (GMT) |
commit | 2be3bca7ff0f8ab40615fdbf72c149cd6439b0ac (patch) | |
tree | 0fc1bfc767eead1f33d41be737635d67b9ce5a84 /src/arch/arm/v7 | |
parent | 66326b95195516864fc7721419250c4fef3f8f4b (diff) |
Tried to use virtual addresses as often as possible.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@545 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/arch/arm/v7')
-rw-r--r-- | src/arch/arm/v7/fetch.c | 13 |
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); |