summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUmesh Bhaskar <umesh.b2006@gmail.com>2013-07-15 11:08:34 -0400
committerUmesh Bhaskar <umesh.b2006@gmail.com>2013-07-15 11:08:34 -0400
commit5ba9e7afe2006dc49dd8bf499059c1f239ee4cdc (patch)
treeaa91384cf3907a52159d508da261084144367d28
parent1f43e244bda0c78844720609455fd77f6f275e51 (diff)
downloadgem5-5ba9e7afe2006dc49dd8bf499059c1f239ee4cdc.tar.xz
debug : Fixes the issue wherein Debug symbols were not getting dumped into trace files for SE mode
-rw-r--r--src/cpu/exetrace.cc5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/cpu/exetrace.cc b/src/cpu/exetrace.cc
index fdefcc980..2877db187 100644
--- a/src/cpu/exetrace.cc
+++ b/src/cpu/exetrace.cc
@@ -83,8 +83,9 @@ Trace::ExeTracerRecord::traceInst(StaticInstPtr inst, bool ran)
std::string sym_str;
Addr sym_addr;
Addr cur_pc = pc.instAddr();
- if (debugSymbolTable && Debug::ExecSymbol && !inUserMode(thread)
- && debugSymbolTable->findNearestSymbol(cur_pc, sym_str, sym_addr)) {
+ if (debugSymbolTable && Debug::ExecSymbol &&
+ (!FullSystem || !inUserMode(thread)) &&
+ debugSymbolTable->findNearestSymbol(cur_pc, sym_str, sym_addr)) {
if (cur_pc != sym_addr)
sym_str += csprintf("+%d",cur_pc - sym_addr);
outs << "@" << sym_str;