summaryrefslogtreecommitdiff
path: root/sim/process.cc
diff options
context:
space:
mode:
authorSteve Reinhardt <stever@eecs.umich.edu>2004-11-15 02:44:23 -0500
committerSteve Reinhardt <stever@eecs.umich.edu>2004-11-15 02:44:23 -0500
commitc250a16e05b9176e8a2b50faa7a5a09f978ecd7e (patch)
tree637d5033560283adce87ff25303272e30681cc28 /sim/process.cc
parentbd4f5f843d1b5f4f4255e0d53df73de353a5a2de (diff)
parentfed64a3b3634315bce420b2bc63312c1fa62bb8f (diff)
downloadgem5-c250a16e05b9176e8a2b50faa7a5a09f978ecd7e.tar.xz
Merge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/m5
into zizzer.eecs.umich.edu:/z/stever/bk/m5 --HG-- extra : convert_revision : 033375b63b56104a5c1823985eeee7bb6cdcc7de
Diffstat (limited to 'sim/process.cc')
-rw-r--r--sim/process.cc13
1 files changed, 13 insertions, 0 deletions
diff --git a/sim/process.cc b/sim/process.cc
index 98db1f2e0..bd1a2d8fd 100644
--- a/sim/process.cc
+++ b/sim/process.cc
@@ -34,6 +34,7 @@
#include "base/intmath.hh"
#include "base/loader/object_file.hh"
+#include "base/loader/symtab.hh"
#include "base/statistics.hh"
#include "cpu/exec_context.hh"
#include "cpu/full_cpu/smt.hh"
@@ -263,6 +264,18 @@ LiveProcess::LiveProcess(const string &name, ObjectFile *objFile,
// load object file into target memory
objFile->loadSections(memory);
+ // load up symbols, if any... these may be used for debugging or
+ // profiling.
+ if (!debugSymbolTable) {
+ debugSymbolTable = new SymbolTable();
+ if (!objFile->loadGlobalSymbols(debugSymbolTable) ||
+ !objFile->loadLocalSymbols(debugSymbolTable)) {
+ // didn't load any symbols
+ delete debugSymbolTable;
+ debugSymbolTable = NULL;
+ }
+ }
+
// Set up stack. On Alpha, stack goes below text section. This
// code should get moved to some architecture-specific spot.
stack_base = text_base - (409600+4096);