gem5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
AoutObject Class Reference

#include <aout_object.hh>

Inheritance diagram for AoutObject:
ObjectFile

Public Member Functions

virtual ~AoutObject ()
 
virtual bool loadAllSymbols (SymbolTable *symtab, Addr base=0, Addr offset=0, Addr addr_mask=maxAddr)
 
virtual bool loadGlobalSymbols (SymbolTable *symtab, Addr base=0, Addr offset=0, Addr addr_mask=maxAddr)
 
virtual bool loadLocalSymbols (SymbolTable *symtab, Addr base=0, Addr offset=0, Addr addr_mask=maxAddr)
 
- Public Member Functions inherited from ObjectFile
virtual ~ObjectFile ()
 
virtual bool loadSections (PortProxy &mem_proxy, Addr mask=maxAddr, Addr offset=0)
 
virtual bool loadWeakSymbols (SymbolTable *symtab, Addr base=0, Addr offset=0, Addr mask=maxAddr)
 
virtual ObjectFilegetInterpreter () const
 
virtual bool relocatable () const
 
virtual Addr mapSize () const
 
virtual void updateBias (Addr bias_addr)
 
virtual Addr bias () const
 
virtual bool hasTLS ()
 
Arch getArch () const
 
OpSys getOpSys () const
 
Addr entryPoint () const
 
Addr globalPointer () const
 
Addr textBase () const
 
Addr dataBase () const
 
Addr bssBase () const
 
size_t textSize () const
 
size_t dataSize () const
 
size_t bssSize () const
 
void setTextBase (Addr a)
 

Static Public Member Functions

static ObjectFiletryFile (const std::string &fname, size_t len, uint8_t *data)
 

Protected Member Functions

 AoutObject (const std::string &_filename, size_t _len, uint8_t *_data, Arch _arch, OpSys _opSys)
 
- Protected Member Functions inherited from ObjectFile
 ObjectFile (const std::string &_filename, size_t _len, uint8_t *_data, Arch _arch, OpSys _opSys)
 
bool loadSection (Section *sec, PortProxy &mem_proxy, Addr mask, Addr offset=0)
 
void setGlobalPointer (Addr global_ptr)
 

Protected Attributes

aout_exechdrexecHdr
 
- Protected Attributes inherited from ObjectFile
const std::string filename
 
uint8_t * fileData
 
size_t len
 
Arch arch
 
OpSys opSys
 
Addr entry
 
Addr globalPtr
 
Section text
 
Section data
 
Section bss
 

Additional Inherited Members

- Public Types inherited from ObjectFile
enum  Arch {
  UnknownArch, Alpha, SPARC64, SPARC32,
  Mips, X86_64, I386, Arm64,
  Arm, Thumb, Power, Riscv
}
 
enum  OpSys {
  UnknownOpSys, Tru64, Linux, Solaris,
  LinuxArmOABI, FreeBSD
}
 
- Static Public Attributes inherited from ObjectFile
static const Addr maxAddr = std::numeric_limits<Addr>::max()
 

Detailed Description

Definition at line 39 of file aout_object.hh.

Constructor & Destructor Documentation

AoutObject::AoutObject ( const std::string &  _filename,
size_t  _len,
uint8_t *  _data,
Arch  _arch,
OpSys  _opSys 
)
protected
virtual AoutObject::~AoutObject ( )
inlinevirtual

Definition at line 49 of file aout_object.hh.

Member Function Documentation

bool AoutObject::loadAllSymbols ( SymbolTable symtab,
Addr  base = 0,
Addr  offset = 0,
Addr  addr_mask = maxAddr 
)
virtual

Implements ObjectFile.

Definition at line 84 of file aout_object.cc.

bool AoutObject::loadGlobalSymbols ( SymbolTable symtab,
Addr  base = 0,
Addr  offset = 0,
Addr  addr_mask = maxAddr 
)
virtual

Implements ObjectFile.

Definition at line 91 of file aout_object.cc.

bool AoutObject::loadLocalSymbols ( SymbolTable symtab,
Addr  base = 0,
Addr  offset = 0,
Addr  addr_mask = maxAddr 
)
virtual

Implements ObjectFile.

Definition at line 99 of file aout_object.cc.

ObjectFile * AoutObject::tryFile ( const std::string &  fname,
size_t  len,
uint8_t *  data 
)
static

Definition at line 43 of file aout_object.cc.

References ObjectFile::Alpha, N_BADMAG, and ObjectFile::UnknownOpSys.

Referenced by createObjectFile().

Member Data Documentation

aout_exechdr* AoutObject::execHdr
protected

Definition at line 42 of file aout_object.hh.

Referenced by AoutObject().


The documentation for this class was generated from the following files:

Generated on Fri Jun 9 2017 13:04:00 for gem5 by doxygen 1.8.6