diff options
author | Jack Veenstra <veenstra@android.com> | 2009-05-18 16:02:07 -0700 |
---|---|---|
committer | Jack Veenstra <veenstra@android.com> | 2009-05-18 16:02:07 -0700 |
commit | 013978687addfae64dbb8e8a179af10922bd2802 (patch) | |
tree | 402b33b6cb9f9fdc8915b10d71672de413373ba7 /target-arm | |
parent | e858242763a9939257b741df0708b24d9f3e3a74 (diff) | |
download | external_qemu-013978687addfae64dbb8e8a179af10922bd2802.zip external_qemu-013978687addfae64dbb8e8a179af10922bd2802.tar.gz external_qemu-013978687addfae64dbb8e8a179af10922bd2802.tar.bz2 |
Fix critical bug with emulator tracing where the basic block addresses were wrong.
One of the calls to trace_add_insn() was missing a parameter and was passing in
garbage. This parameter "is_thumb" is expected to be 0 or 1 and is OR-ed with
the basic block address to distinguish ARM and Thumb instruction blocks.
Diffstat (limited to 'target-arm')
-rw-r--r-- | target-arm/translate.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/target-arm/translate.c b/target-arm/translate.c index ff27d28..87bae82 100644 --- a/target-arm/translate.c +++ b/target-arm/translate.c @@ -5691,7 +5691,7 @@ static void disas_arm_insn(CPUState * env, DisasContext *s) insn = ldl_code(s->pc); #ifdef CONFIG_TRACE if (tracing) { - trace_add_insn(insn); + trace_add_insn(insn, 0); ticks = get_insn_ticks_arm(insn); gen_helper_traceInsn(); } |