summaryrefslogtreecommitdiff
path: root/src/arch
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch')
-rw-r--r--src/arch/arm/v7/post.c28
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);