summaryrefslogtreecommitdiff
path: root/src/cpu/exetrace.cc
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2009-02-25 10:22:36 -0800
committerGabe Black <gblack@eecs.umich.edu>2009-02-25 10:22:36 -0800
commit5c546e35046a0b7260dec0b4d979e05f29505785 (patch)
treef3136e6cec61eb08d5b6891e7b9eb6609b2740b9 /src/cpu/exetrace.cc
parent437b02884dedccc6f72f3e5d9c05d3a2dd6c6a2d (diff)
downloadgem5-5c546e35046a0b7260dec0b4d979e05f29505785.tar.xz
CPU: Only look up the nearest symbol in the kernel if you're actually in kernel code.
Diffstat (limited to 'src/cpu/exetrace.cc')
-rw-r--r--src/cpu/exetrace.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/cpu/exetrace.cc b/src/cpu/exetrace.cc
index 5897d1dbc..ea53fb6f5 100644
--- a/src/cpu/exetrace.cc
+++ b/src/cpu/exetrace.cc
@@ -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);