gem5
|
#include <ecoff_object.hh>
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 ObjectFile * | getInterpreter () 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 ObjectFile * | tryFile (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_exechdr * | execHdr |
ecoff_filehdr * | fileHdr |
ecoff_aouthdr * | aoutHdr |
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() |
Definition at line 41 of file ecoff_object.hh.
|
protected |
Definition at line 66 of file ecoff_object.cc.
References ecoff_exechdr::a, aoutHdr, ObjectFile::Section::baseAddr, ecoff_aouthdr::bsize, ObjectFile::bss, ecoff_aouthdr::bss_start, ObjectFile::data, ecoff_aouthdr::data_start, DPRINTFR, ecoff_aouthdr::dsize, ECOFF_DATOFF, ECOFF_TXTOFF, ecoff_aouthdr::entry, ObjectFile::entry, execHdr, ecoff_exechdr::f, ObjectFile::fileData, fileHdr, ObjectFile::Section::fileImage, ObjectFile::Section::size, ObjectFile::text, ecoff_aouthdr::text_start, and ecoff_aouthdr::tsize.
|
inlinevirtual |
Definition at line 52 of file ecoff_object.hh.
|
virtual |
Implements ObjectFile.
Definition at line 94 of file ecoff_object.cc.
References loadGlobalSymbols(), and loadLocalSymbols().
|
virtual |
Implements ObjectFile.
Definition at line 103 of file ecoff_object.cc.
References ecoff_extsym::asym, ecoff_symhdr::cbExtOffset, ecoff_symhdr::cbSsExtOffset, ECOFF_MAGIC_ALPHA, ObjectFile::entry, ecoff_filehdr::f_magic, ecoff_filehdr::f_symptr, ObjectFile::fileData, fileHdr, ObjectFile::filename, ArmISA::i, ecoff_symhdr::iextMax, SymbolTable::insert(), ecoff_sym::iss, ecoff_symhdr::magic, magicSym2, ecoff_sym::value, and warn.
Referenced by loadAllSymbols().
|
virtual |
Implements ObjectFile.
Definition at line 133 of file ecoff_object.cc.
References ecoff_symhdr::cbFdOffset, ecoff_symhdr::cbSsOffset, ecoff_symhdr::cbSymOffset, ecoff_fdr::csym, ECOFF_MAGIC_ALPHA, ObjectFile::entry, ecoff_filehdr::f_magic, ecoff_filehdr::f_symptr, ObjectFile::fileData, fileHdr, ObjectFile::filename, ArmISA::i, ecoff_symhdr::ifdMax, SymbolTable::insert(), ecoff_sym::iss, ecoff_symhdr::isymMax, ArmISA::j, ecoff_symhdr::magic, magicSym2, ecoff_sym::st, ArmISA::st, stGlobal, stProc, ecoff_sym::value, and warn.
Referenced by loadAllSymbols().
|
static |
Definition at line 53 of file ecoff_object.cc.
References ObjectFile::Alpha, ECOFF_MAGIC_ALPHA, and ObjectFile::Tru64.
Referenced by createObjectFile().
|
protected |
Definition at line 46 of file ecoff_object.hh.
Referenced by EcoffObject().
|
protected |
Definition at line 44 of file ecoff_object.hh.
Referenced by EcoffObject().
|
protected |
Definition at line 45 of file ecoff_object.hh.
Referenced by EcoffObject(), loadGlobalSymbols(), and loadLocalSymbols().