diff options
author | Ali Saidi <saidi@eecs.umich.edu> | 2006-11-10 20:17:54 -0500 |
---|---|---|
committer | Ali Saidi <saidi@eecs.umich.edu> | 2006-11-10 20:17:54 -0500 |
commit | 77254e513d71ed666bf2f923d0f115b9b86aca1b (patch) | |
tree | 5743c796ce5ddab95d6c711a78893a3c667efa18 /src/base/loader/raw_object.cc | |
parent | e89eaf8b801b39713b28f2df7e89ea8a518974ec (diff) | |
parent | aa19b2e7bca481b5f8fd2c54f2396b53259cf742 (diff) | |
download | gem5-77254e513d71ed666bf2f923d0f115b9b86aca1b.tar.xz |
Merge zizzer:/bk/newmem
into zeep.pool:/z/saidi/work/m5.newmem
--HG--
extra : convert_revision : e4f9bb663099662a94c5522e6b4955c2a83bac8d
Diffstat (limited to 'src/base/loader/raw_object.cc')
-rw-r--r-- | src/base/loader/raw_object.cc | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/base/loader/raw_object.cc b/src/base/loader/raw_object.cc index 79ddb81fe..1faf33426 100644 --- a/src/base/loader/raw_object.cc +++ b/src/base/loader/raw_object.cc @@ -29,6 +29,7 @@ */ #include "base/loader/raw_object.hh" +#include "base/loader/symtab.hh" #include "base/trace.hh" ObjectFile * @@ -62,11 +63,19 @@ RawObject::RawObject(const std::string &_filename, int _fd, size_t _len, bool RawObject::loadGlobalSymbols(SymbolTable *symtab) { + int fnameStart = filename.rfind('/',filename.size()) + 1; + int extStart = filename.rfind('.',filename.size()); + symtab->insert(text.baseAddr, filename.substr(fnameStart, + extStart-fnameStart) + "_start"); return true; } bool RawObject::loadLocalSymbols(SymbolTable *symtab) { + int fnameStart = filename.rfind('/',filename.size()) + 1; + int extStart = filename.rfind('.',filename.size()); + symtab->insert(text.baseAddr, filename.substr(fnameStart, + extStart-fnameStart) + "_start"); return true; } |