Added class BeLinker.

committer: mfx <mfx> 978797683 +0000
This commit is contained in:
Markus F.X.J. Oberhumer
2001-01-06 16:14:43 +00:00
parent dee289e2d9
commit 47168972da
4 changed files with 40 additions and 12 deletions
+25 -1
View File
@@ -34,12 +34,17 @@ class Linker
{
public:
Linker(const void *pdata, int plen, int pinfo);
~Linker();
virtual ~Linker();
void addSection(const char *sect);
void addSection(const char *sname, const void *sdata, unsigned len);
const char *getLoader(int *llen);
int getSection(const char *name, int *slen) const;
protected:
// little endian
virtual unsigned get32(const void *b) const { return get_le32(b); }
virtual void set32(void *b, unsigned v) const { set_le32(b, v); }
private:
struct section;
struct jump;
@@ -61,6 +66,25 @@ private:
};
class BeLinker : public Linker
{
typedef Linker super;
public:
BeLinker(const void *pdata, int plen, int pinfo) :
super(pdata, plen, pinfo) { }
protected:
// big endian
virtual unsigned get32(const void *b) const { return get_be32(b); }
virtual void set32(void *b, unsigned v) const { set_be32(b, v); }
private:
// disable copy and assignment
BeLinker(BeLinker const &); // {}
BeLinker& operator= (BeLinker const &); // { return *this; }
};
#endif /* already included */