diff options
author | Gabe Black <gblack@eecs.umich.edu> | 2006-08-11 20:27:22 -0400 |
---|---|---|
committer | Gabe Black <gblack@eecs.umich.edu> | 2006-08-11 20:27:22 -0400 |
commit | fb35d474a58dcc55da589c925d240b4bd1935646 (patch) | |
tree | 7b57f8cf514a6c59875b412782819832ca09c946 /src/base/loader/elf_object.hh | |
parent | 1f44717732028a2491177816264a91f0690254c3 (diff) | |
download | gem5-fb35d474a58dcc55da589c925d240b4bd1935646.tar.xz |
Added code to support setting up all of the auxillieary vectors configured by the sparc linux elf loader.
src/arch/sparc/process.cc:
All of the auxilliary vectors are now set like they are in the linux elf loader. This code should probably be moved to arch/sparc/linux/process.cc somehow.
--HG--
extra : convert_revision : 4a90cacf70b1032cad3f18b0f833a6df8237e0de
Diffstat (limited to 'src/base/loader/elf_object.hh')
-rw-r--r-- | src/base/loader/elf_object.hh | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/base/loader/elf_object.hh b/src/base/loader/elf_object.hh index 46dbfe37b..9755426b4 100644 --- a/src/base/loader/elf_object.hh +++ b/src/base/loader/elf_object.hh @@ -37,6 +37,12 @@ class ElfObject : public ObjectFile { protected: + //These values are provided to a linux process by the kernel, so we + //need to keep them around. + Addr _programHeaderTable; + uint16_t _programHeaderSize; + uint16_t _programHeaderCount; + /// Helper functions for loadGlobalSymbols() and loadLocalSymbols(). bool loadSomeSymbols(SymbolTable *symtab, int binding); @@ -52,6 +58,9 @@ class ElfObject : public ObjectFile static ObjectFile *tryFile(const std::string &fname, int fd, size_t len, uint8_t *data); + Addr programHeaderTable() {return _programHeaderTable;} + uint16_t programHeaderSize() {return _programHeaderSize;} + uint16_t programHeaderCount() {return _programHeaderCount;} }; #endif // __ELF_OBJECT_HH__ |