diff options
Diffstat (limited to 'src/arch')
-rw-r--r-- | src/arch/arm/v7/post.c | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/src/arch/arm/v7/post.c b/src/arch/arm/v7/post.c index c7b0f64..dfeb720 100644 --- a/src/arch/arm/v7/post.c +++ b/src/arch/arm/v7/post.c @@ -260,8 +260,18 @@ void post_process_ldr_instructions(GArchInstruction *instr, GProcContext *contex { addr &= ~0x1; + do + { + + const mrange_t *_range; - printf("RESOLVING FOR 0x%08x\n", (unsigned int)addr); + _range = g_arch_instruction_get_range(instr); + + printf("@ 0x%08x RESOLVING FOR 0x%08x\n", + (unsigned int)_range->addr.virtual, (unsigned int)addr); + + + } while (0); init_vmpa(&target, VMPA_NO_PHYSICAL, addr); init_mrange(&trange, &target, 0); @@ -284,7 +294,21 @@ void post_process_ldr_instructions(GArchInstruction *instr, GProcContext *contex g_target_operand_resolve(G_TARGET_OPERAND(new), format); } - else printf("RESOLVED FOR 0x%08x\n", (unsigned int)addr); + else + + do + { + + const mrange_t *_range; + + _range = g_arch_instruction_get_range(instr); + + printf("@ 0x%08x RESOLVED FOR 0x%08x\n", + (unsigned int)_range->addr.virtual, (unsigned int)addr); + + + } while (0); + g_arch_instruction_replace_operand(instr, new, op); |