summaryrefslogtreecommitdiff
path: root/src/arch/arm/v7/processor.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/arm/v7/processor.c')
-rw-r--r--src/arch/arm/v7/processor.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/arch/arm/v7/processor.c b/src/arch/arm/v7/processor.c
index 2b8617b..4ae933b 100644
--- a/src/arch/arm/v7/processor.c
+++ b/src/arch/arm/v7/processor.c
@@ -200,6 +200,7 @@ GArmV7Processor *g_armv7_processor_new(void)
* Remarques : - *
* *
******************************************************************************/
+#include "link.h"
#include "post.h"
static GArchInstruction *g_armv7_processor_disassemble(const GArmV7Processor *proc, GArmContext *ctx, const bin_t *data, vmpa2t *pos, phys_t end)
{
@@ -269,7 +270,8 @@ static GArchInstruction *g_armv7_processor_disassemble(const GArmV7Processor *pr
{
- g_arch_instruction_set_post_prod_function(result, post_process_thumb_instruction_bl);
+ g_arch_instruction_set_hook(result, IPH_LINK, handle_links_with_thumb_instruction_bl);
+ g_arch_instruction_set_hook(result, IPH_POST, post_process_branch_instructions);
@@ -278,7 +280,8 @@ static GArchInstruction *g_armv7_processor_disassemble(const GArmV7Processor *pr
if (strcmp(g_arch_instruction_get_keyword(result, 0), "blx") == 0/* && pc == 0x000085b2*/)
{
- g_arch_instruction_set_post_prod_function(result, post_process_thumb_instruction_blx);
+ g_arch_instruction_set_hook(result, IPH_LINK, handle_links_with_thumb_instruction_blx);
+ g_arch_instruction_set_hook(result, IPH_POST, post_process_branch_instructions);
}