debug : Fixes the issue wherein Debug symbols were not getting dumped into trace files for SE mode

This commit is contained in:
Umesh Bhaskar 2013-07-15 11:08:34 -04:00
parent 1f43e244bd
commit 5ba9e7afe2

View file

@ -83,8 +83,9 @@ Trace::ExeTracerRecord::traceInst(StaticInstPtr inst, bool ran)
std::string sym_str; std::string sym_str;
Addr sym_addr; Addr sym_addr;
Addr cur_pc = pc.instAddr(); Addr cur_pc = pc.instAddr();
if (debugSymbolTable && Debug::ExecSymbol && !inUserMode(thread) if (debugSymbolTable && Debug::ExecSymbol &&
&& debugSymbolTable->findNearestSymbol(cur_pc, sym_str, sym_addr)) { (!FullSystem || !inUserMode(thread)) &&
debugSymbolTable->findNearestSymbol(cur_pc, sym_str, sym_addr)) {
if (cur_pc != sym_addr) if (cur_pc != sym_addr)
sym_str += csprintf("+%d",cur_pc - sym_addr); sym_str += csprintf("+%d",cur_pc - sym_addr);
outs << "@" << sym_str; outs << "@" << sym_str;