diff options
| author | Tony Puccinelli | 2010-08-07 06:15:57 +0000 |
|---|---|---|
| committer | Tony Puccinelli | 2010-08-07 06:15:57 +0000 |
| commit | d6adeb9ccf3e361d206dbf09b5279cea43459ff2 (patch) | |
| tree | 47fed693c4328f8009a8c74355f0fa0985ddec07 /backends/plugins/elf-loader.h | |
| parent | 0712d418708540c2c6dbba4c4912eb94302c9125 (diff) | |
| download | scummvm-rg350-d6adeb9ccf3e361d206dbf09b5279cea43459ff2.tar.gz scummvm-rg350-d6adeb9ccf3e361d206dbf09b5279cea43459ff2.tar.bz2 scummvm-rg350-d6adeb9ccf3e361d206dbf09b5279cea43459ff2.zip | |
took out hacky 'ifdef MIPS_TARGET' statements in DLObject's methods and instead overrode those methods in MIPSDLObject
svn-id: r51827
Diffstat (limited to 'backends/plugins/elf-loader.h')
| -rw-r--r-- | backends/plugins/elf-loader.h | 15 |
1 files changed, 3 insertions, 12 deletions
diff --git a/backends/plugins/elf-loader.h b/backends/plugins/elf-loader.h index 7abe012003..56a9fa3767 100644 --- a/backends/plugins/elf-loader.h +++ b/backends/plugins/elf-loader.h @@ -30,10 +30,6 @@ #include "common/stream.h" #include "backends/plugins/dynamic-plugin.h" -#if defined(MIPS_TARGET) -#include "shorts-segment-manager.h" -#endif - class DLObject { protected: void *_segment, *_symtab; @@ -44,23 +40,18 @@ protected: int _segmentSize; -#ifdef MIPS_TARGET - ShortSegmentManager::Segment *_shortsSegment; // For assigning shorts ranges - unsigned int _gpVal; // Value of Global Pointer -#endif - //void seterror(const char *fmt, ...); - void unload(); + virtual void unload(); virtual bool relocate(Common::SeekableReadStream* DLFile, unsigned long offset, unsigned long size, void *relSegment) = 0; bool load(Common::SeekableReadStream* DLFile); bool readElfHeader(Common::SeekableReadStream* DLFile, Elf32_Ehdr *ehdr); bool readProgramHeaders(Common::SeekableReadStream* DLFile, Elf32_Ehdr *ehdr, Elf32_Phdr *phdr, int num); - bool loadSegment(Common::SeekableReadStream* DLFile, Elf32_Phdr *phdr); + virtual bool loadSegment(Common::SeekableReadStream* DLFile, Elf32_Phdr *phdr); Elf32_Shdr *loadSectionHeaders(Common::SeekableReadStream* DLFile, Elf32_Ehdr *ehdr); int loadSymbolTable(Common::SeekableReadStream* DLFile, Elf32_Ehdr *ehdr, Elf32_Shdr *shdr); bool loadStringTable(Common::SeekableReadStream* DLFile, Elf32_Shdr *shdr); - void relocateSymbols(Elf32_Addr offset); + virtual void relocateSymbols(Elf32_Addr offset); virtual bool relocateRels(Common::SeekableReadStream* DLFile, Elf32_Ehdr *ehdr, Elf32_Shdr *shdr) = 0; public: |
