diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2018-05-19 14:32:21 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2018-05-19 14:32:21 (GMT) |
commit | ca2d0b23aac9a48b112f20a603dd0df85afc8afa (patch) | |
tree | 14641c4d3bcf25f8a7ca02034c496d3e66920656 /plugins/arm/v7 | |
parent | 0a228fb2310761c3c620bd7ae40610e091f6c5b7 (diff) |
Stopped trying to resolve loaded values by all means.
Diffstat (limited to 'plugins/arm/v7')
-rw-r--r-- | plugins/arm/v7/post.c | 23 |
1 files changed, 3 insertions, 20 deletions
diff --git a/plugins/arm/v7/post.c b/plugins/arm/v7/post.c index ad839cf..c430d65 100644 --- a/plugins/arm/v7/post.c +++ b/plugins/arm/v7/post.c @@ -50,10 +50,6 @@ void post_process_ldr_instructions(GArchInstruction *instr, GArchProcessor *proc GBinFormat *bfmt; /* Version basique du format */ GTargetOperand *new; /* Instruction de ciblage */ vmpa2t target; /* Défination finale précise */ - mrange_t trange; /* Etendue du symbole à créer */ - VMPA_BUFFER(loc); /* Espace pour une conversion */ - char name[5 + VMPA_MAX_LEN]; /* Etiquette à constituer */ - GBinSymbol *symbol; /* Nouveau symbole construit */ g_arch_instruction_lock_operands(instr); @@ -70,23 +66,10 @@ void post_process_ldr_instructions(GArchInstruction *instr, GArchProcessor *proc new = G_TARGET_OPERAND(g_target_operand_new(MDS_32_BITS_UNSIGNED, &target)); if (!g_target_operand_resolve(new, bfmt, true)) - { - addr &= ~0x1; + g_object_unref(G_OBJECT(new)); - init_mrange(&trange, &target, 0); - - vmpa2_virt_to_string(&target, MDS_UNDEFINED, loc, NULL); - snprintf(name, sizeof(name), "loc_%s", loc + 2); - - symbol = g_binary_symbol_new(&trange, STP_CODE_LABEL); - g_binary_symbol_set_alt_label(symbol, name); - g_binary_format_add_symbol(bfmt, symbol); - - g_target_operand_resolve(new, bfmt, true); - - } - - _g_arch_instruction_replace_operand(instr, op, G_ARCH_OPERAND(new)); + else + _g_arch_instruction_replace_operand(instr, op, G_ARCH_OPERAND(new)); } |