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

#include <raw_object.hh>

Inheritance diagram for RawObject:
ObjectFile

Public Member Functions

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

 RawObject (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)
 

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

Detailed Description

Definition at line 36 of file raw_object.hh.

Constructor & Destructor Documentation

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

Definition at line 42 of file raw_object.hh.

Member Function Documentation

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

Implements ObjectFile.

Definition at line 66 of file raw_object.cc.

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

Implements ObjectFile.

Definition at line 73 of file raw_object.cc.

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

Implements ObjectFile.

Definition at line 84 of file raw_object.cc.

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

Definition at line 38 of file raw_object.cc.

References RawObject(), ObjectFile::UnknownArch, and ObjectFile::UnknownOpSys.

Referenced by createObjectFile().


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

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