summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabe Black <gabeblack@google.com>2020-01-22 20:29:36 -0800
committerGabe Black <gabeblack@google.com>2020-01-23 23:45:15 +0000
commit7b62df85f8d5513b6fab5a8c40ad2e48ac5010ec (patch)
treea83ce6e2fced3587c8946b5201f8821f13b349c4
parent46fbd76595faea874773a2ecbbdb36c3b56e697e (diff)
downloadgem5-7b62df85f8d5513b6fab5a8c40ad2e48ac5010ec.tar.xz
cpu: Fix ExeTraceRecord::traceInst.
A recent-ish change modified ExeTraceRecord::traceInst to make it more consistent with DPRINTF-s by using dprintf_flag to print the trace string. The generated string was passed as the format however, and that means that all % characters in the output (from register names, for example) are interpreted as format characters, mangling the output and making cprintf angry since there are no corresponding arguments. This change sets the format to "%s" instead, and passes the trace string as the first argument. The argument won't be parsed for format specifiers, and so should no longer get mangled. Change-Id: I8fa9c2c22179a5b55104a618a4af4080a3931c5f Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/24643 Reviewed-by: Ciro Santilli <ciro.santilli@arm.com> Maintainer: Gabe Black <gabeblack@google.com> Tested-by: kokoro <noreply+kokoro@google.com>
-rw-r--r--src/cpu/exetrace.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/cpu/exetrace.cc b/src/cpu/exetrace.cc
index aeb17078c..2af59eb2e 100644
--- a/src/cpu/exetrace.cc
+++ b/src/cpu/exetrace.cc
@@ -177,7 +177,8 @@ Trace::ExeTracerRecord::traceInst(const StaticInstPtr &inst, bool ran)
outs << endl;
Trace::getDebugLogger()->dprintf_flag(
- when, thread->getCpuPtr()->name(), "ExecEnable", outs.str().c_str());
+ when, thread->getCpuPtr()->name(), "ExecEnable", "%s",
+ outs.str().c_str());
}
void