debug : Fixes the issue wherein Debug symbols were not getting dumped into trace...
authorUmesh Bhaskar <umesh.b2006@gmail.com>
Mon, 15 Jul 2013 15:08:34 +0000 (11:08 -0400)
committerUmesh Bhaskar <umesh.b2006@gmail.com>
Mon, 15 Jul 2013 15:08:34 +0000 (11:08 -0400)
src/cpu/exetrace.cc

index fdefcc98053b97fc589ff7918b7f774176c0d9ac..2877db1877ca4cfd69c61eb17cf55751099742e1 100644 (file)
@@ -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;