diff options
author | Brandon Potter <brandon.potter@amd.com> | 2016-03-17 10:31:03 -0700 |
---|---|---|
committer | Brandon Potter <brandon.potter@amd.com> | 2016-03-17 10:31:03 -0700 |
commit | 9b4249410ec18cac9df2c7e9c0a4a6ce5459233d (patch) | |
tree | c3260ef4f23b9eca7d835ab1e0dfc8ce1173b17c /src/base/loader/object_file.hh | |
parent | 4fc69db8f89049a881a5f4aa68545840818b124c (diff) | |
download | gem5-9b4249410ec18cac9df2c7e9c0a4a6ce5459233d.tar.xz |
base: support dynamic loading of Linux ELF objects in SE mode
Diffstat (limited to 'src/base/loader/object_file.hh')
-rw-r--r-- | src/base/loader/object_file.hh | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/base/loader/object_file.hh b/src/base/loader/object_file.hh index e5961add2..26750038f 100644 --- a/src/base/loader/object_file.hh +++ b/src/base/loader/object_file.hh @@ -35,6 +35,7 @@ #include <limits> #include <string> +#include "base/misc.hh" #include "base/types.hh" class PortProxy; @@ -94,7 +95,14 @@ class ObjectFile std::numeric_limits<Addr>::max()) { return false; } - virtual bool isDynamic() { return false; } + virtual ObjectFile *getInterpreter() const { return nullptr; } + virtual bool relocatable() const { return false; } + virtual Addr mapSize() const + { panic("mapSize() should only be called on relocatable objects\n"); } + virtual void updateBias(Addr bias_addr) + { panic("updateBias() should only be called on relocatable objects\n"); } + virtual Addr bias() const { return 0; } + virtual bool hasTLS() { return false; } Arch getArch() const { return arch; } |