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
EcoffObject Class Reference

#include <ecoff_object.hh>

Inheritance diagram for EcoffObject:
ObjectFile

Public Member Functions

virtual ~EcoffObject ()
 
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

 EcoffObject (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

ecoff_exechdrexecHdr
 
ecoff_filehdrfileHdr
 
ecoff_aouthdraoutHdr
 
- 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 41 of file ecoff_object.hh.

Constructor & Destructor Documentation

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

Definition at line 52 of file ecoff_object.hh.

Member Function Documentation

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

Implements ObjectFile.

Definition at line 94 of file ecoff_object.cc.

References loadGlobalSymbols(), and loadLocalSymbols().

bool EcoffObject::loadGlobalSymbols ( SymbolTable symtab,
Addr  base = 0,
Addr  offset = 0,
Addr  addr_mask = maxAddr 
)
virtual
bool EcoffObject::loadLocalSymbols ( SymbolTable symtab,
Addr  base = 0,
Addr  offset = 0,
Addr  addr_mask = maxAddr 
)
virtual
ObjectFile * EcoffObject::tryFile ( const std::string &  fname,
size_t  len,
uint8_t *  data 
)
static

Definition at line 53 of file ecoff_object.cc.

References ObjectFile::Alpha, ECOFF_MAGIC_ALPHA, and ObjectFile::Tru64.

Referenced by createObjectFile().

Member Data Documentation

ecoff_aouthdr* EcoffObject::aoutHdr
protected

Definition at line 46 of file ecoff_object.hh.

Referenced by EcoffObject().

ecoff_exechdr* EcoffObject::execHdr
protected

Definition at line 44 of file ecoff_object.hh.

Referenced by EcoffObject().

ecoff_filehdr* EcoffObject::fileHdr
protected

Definition at line 45 of file ecoff_object.hh.

Referenced by EcoffObject(), loadGlobalSymbols(), and loadLocalSymbols().


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

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