CPU: Only look up the nearest symbol in the kernel if you're actually in kernel code.
authorGabe Black <gblack@eecs.umich.edu>
Wed, 25 Feb 2009 18:22:36 +0000 (10:22 -0800)
committerGabe Black <gblack@eecs.umich.edu>
Wed, 25 Feb 2009 18:22:36 +0000 (10:22 -0800)
src/cpu/exetrace.cc

index 5897d1dbcd8bf93a8b3dbeef4040acbe8ad75739..ea53fb6f5c42ceb4977444738b6b5ad548e9d307 100644 (file)
@@ -71,6 +71,9 @@ Trace::ExeTracerRecord::traceInst(StaticInstPtr inst, bool ran)
     Addr sym_addr;
     if (debugSymbolTable
         && IsOn(ExecSymbol)
+#if FULL_SYSTEM
+        && !inUserMode(thread)
+#endif
         && debugSymbolTable->findNearestSymbol(PC, sym_str, sym_addr)) {
         if (PC != sym_addr)
             sym_str += csprintf("+%d", PC - sym_addr);