diff options
Diffstat (limited to 'sim/common/sim-trace.c')
-rw-r--r-- | sim/common/sim-trace.c | 35 |
1 files changed, 16 insertions, 19 deletions
diff --git a/sim/common/sim-trace.c b/sim/common/sim-trace.c index d6d85f8..0371b44 100644 --- a/sim/common/sim-trace.c +++ b/sim/common/sim-trace.c @@ -262,22 +262,16 @@ trace_uninstall (SIM_DESC sd) } void -trace_one_insn (SIM_DESC sd, sim_cpu *cpu, const char *filename, - int linenum, int idecode, address_word pc, const char *name) +trace_one_insn (SIM_DESC sd, sim_cpu *cpu, address_word pc, + int line_p, const TRACE_INSN_DATA *insn_data) { - if (idecode) - trace_printf(sd, cpu, "%s:%-*d 0x%.*lx (decode) %s\n", - filename, - SIZE_LINE_NUMBER, linenum, + if (!line_p) + trace_printf(sd, cpu, "trace-%s: %s:%-*d 0x%.*lx %s\n", + insn_data->phase, + *(insn_data->p_filename), + SIZE_LINE_NUMBER, insn_data->linenum, SIZE_PC, (long)pc, - name); - - else if (!TRACE_LINENUM_P (cpu)) - trace_printf(sd, cpu, "%s:%-*d 0x%.*lx %s\n", - filename, - SIZE_LINE_NUMBER, linenum, - SIZE_PC, (long)pc, - name); + *(insn_data->p_name)); else { @@ -315,10 +309,10 @@ trace_one_insn (SIM_DESC sd, sim_cpu *cpu, const char *filename, sprintf (p, "%s ", pc_function); p += strlen (p); } - else if (filename) + else if (pc_filename) { - char *q = (char *) strrchr (filename, '/'); - sprintf (p, "%s ", (q) ? q+1 : filename); + char *q = (char *) strrchr (pc_filename, '/'); + sprintf (p, "%s ", (q) ? q+1 : pc_filename); p += strlen (p); } @@ -327,10 +321,13 @@ trace_one_insn (SIM_DESC sd, sim_cpu *cpu, const char *filename, } } - trace_printf (sd, cpu, "0x%.*x %-*.*s %s\n", + trace_printf (sd, cpu, "trace-%s: %s:%-*d 0x%.*x %-*.*s %s\n", + insn_data->phase, + *(insn_data->p_filename), + SIZE_LINE_NUMBER, insn_data->linenum, SIZE_PC, (unsigned) pc, SIZE_LOCATION, SIZE_LOCATION, buf, - name); + *(insn_data->p_name)); } } |