diff options
Diffstat (limited to 'src/base/loader/object_file.hh')
-rw-r--r-- | src/base/loader/object_file.hh | 34 |
1 files changed, 0 insertions, 34 deletions
diff --git a/src/base/loader/object_file.hh b/src/base/loader/object_file.hh index da35db148..0c279c933 100644 --- a/src/base/loader/object_file.hh +++ b/src/base/loader/object_file.hh @@ -40,8 +40,6 @@ #include "base/logging.hh" #include "base/types.hh" -class Process; -class ProcessParams; class SymbolTable; class ObjectFile : public ImageFile @@ -131,38 +129,6 @@ class ObjectFile : public ImageFile public: Addr entryPoint() const { return entry; } - - /** - * Each instance of a Loader subclass will have a chance to try to load - * an object file when tryLoaders is called. If they can't because they - * aren't compatible with it (wrong arch, wrong OS, etc), then they - * silently fail by returning nullptr so other loaders can try. - */ - class Loader - { - public: - Loader(); - - /* Loader instances are singletons. */ - Loader(const Loader &) = delete; - void operator=(const Loader &) = delete; - - virtual ~Loader() {} - - /** - * Each subclass needs to implement this method. If the loader is - * compatible with the passed in object file, it should return the - * created Process object corresponding to it. If not, it should fail - * silently and return nullptr. If there's a non-compatibliity related - * error like file IO errors, etc., those should fail non-silently - * with a panic or fail as normal. - */ - virtual Process *load(ProcessParams *params, ObjectFile *obj_file) = 0; - }; - - // Try all the Loader instance's "load" methods one by one until one is - // successful. If none are, complain and fail. - static Process *tryLoaders(ProcessParams *params, ObjectFile *obj_file); }; class ObjectFileFormat |