From 236010f7df9ac3620377822417a8ca6cb6b37d56 Mon Sep 17 00:00:00 2001 From: Cosmin Gorgovan Date: Tue, 8 Nov 2016 20:43:12 +0000 Subject: [PATCH] Handle uncond_imm_arm brances in traces --- traces.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/traces.c b/traces.c index 3e7f1c8a..b7e37b66 100644 --- a/traces.c +++ b/traces.c @@ -87,7 +87,7 @@ void create_trace(dbm_thread *thread_data, uint32_t bb_source, uint32_t *trace_a #ifdef DBM_TRACES thread_data->trace_fragment_count = 0; - if (thread_data->code_cache_meta[bb_source].exit_branch_type == cbz_thumb || thread_data->code_cache_meta[bb_source].exit_branch_type == cond_imm_thumb || thread_data->code_cache_meta[bb_source].exit_branch_type == uncond_imm_thumb || thread_data->code_cache_meta[bb_source].exit_branch_type == uncond_b_to_bl_thumb || thread_data->code_cache_meta[bb_source].exit_branch_type == cond_imm_arm || thread_data->code_cache_meta[bb_source].exit_branch_type == tb_indirect || thread_data->code_cache_meta[bb_source].exit_branch_type == uncond_reg_thumb) { + if (thread_data->code_cache_meta[bb_source].exit_branch_type == cbz_thumb || thread_data->code_cache_meta[bb_source].exit_branch_type == cond_imm_thumb || thread_data->code_cache_meta[bb_source].exit_branch_type == uncond_imm_thumb || thread_data->code_cache_meta[bb_source].exit_branch_type == uncond_b_to_bl_thumb || thread_data->code_cache_meta[bb_source].exit_branch_type == cond_imm_arm || thread_data->code_cache_meta[bb_source].exit_branch_type == uncond_imm_arm || thread_data->code_cache_meta[bb_source].exit_branch_type == tb_indirect || thread_data->code_cache_meta[bb_source].exit_branch_type == uncond_reg_thumb) { source_addr = thread_data->code_cache_meta[bb_source].source_addr; is_thumb = (uint32_t)source_addr & THUMB; @@ -191,6 +191,7 @@ void trace_dispatcher(uint32_t target, uint32_t *next_addr, uint32_t source_inde break; case uncond_imm_thumb: case uncond_b_to_bl_thumb: + case uncond_imm_arm: break; case uncond_blxi_thumb: