gem5  v20.0.0.2
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Loader::ObjectFile Class Reference

#include <object_file.hh>

Inheritance diagram for Loader::ObjectFile:
Loader::ImageFile Loader::ElfObject Loader::RawImage

Public Member Functions

virtual ~ObjectFile ()
 
virtual bool loadAllSymbols (SymbolTable *symtab, Addr base=0, Addr offset=0, Addr mask=MaxAddr)
 
virtual bool loadGlobalSymbols (SymbolTable *symtab, Addr base=0, Addr offset=0, Addr mask=MaxAddr)
 
virtual bool loadLocalSymbols (SymbolTable *symtab, Addr base=0, Addr offset=0, Addr mask=MaxAddr)
 
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
 
- Public Member Functions inherited from Loader::ImageFile
virtual MemoryImage buildImage () const =0
 

Protected Member Functions

 ObjectFile (ImageFileDataPtr ifd)
 
- Protected Member Functions inherited from Loader::ImageFile
 ImageFile (ImageFileDataPtr data)
 
virtual ~ImageFile ()
 

Protected Attributes

Arch arch = UnknownArch
 
OpSys opSys = UnknownOpSys
 
Addr entry = 0
 
- Protected Attributes inherited from Loader::ImageFile
ImageFileDataPtr imageData
 

Detailed Description

Definition at line 69 of file object_file.hh.

Constructor & Destructor Documentation

◆ ObjectFile()

Loader::ObjectFile::ObjectFile ( ImageFileDataPtr  ifd)
protected

Definition at line 39 of file object_file.cc.

◆ ~ObjectFile()

virtual Loader::ObjectFile::~ObjectFile ( )
inlinevirtual

Definition at line 78 of file object_file.hh.

Member Function Documentation

◆ bias()

virtual Addr Loader::ObjectFile::bias ( ) const
inlinevirtual

Reimplemented in Loader::ElfObject.

Definition at line 117 of file object_file.hh.

Referenced by Process::getBias().

◆ entryPoint()

Addr Loader::ObjectFile::entryPoint ( ) const
inline

◆ getArch()

Arch Loader::ObjectFile::getArch ( ) const
inline

◆ getInterpreter()

virtual ObjectFile* Loader::ObjectFile::getInterpreter ( ) const
inlinevirtual

Reimplemented in Loader::ElfObject.

Definition at line 105 of file object_file.hh.

Referenced by Process::getInterpreter(), Process::init(), and Process::updateBias().

◆ getOpSys()

OpSys Loader::ObjectFile::getOpSys ( ) const
inline

Definition at line 122 of file object_file.hh.

References opSys.

Referenced by ArmProcess::argsInit().

◆ hasTLS()

virtual bool Loader::ObjectFile::hasTLS ( )
inlinevirtual

Reimplemented in Loader::ElfObject.

Definition at line 119 of file object_file.hh.

◆ loadAllSymbols()

virtual bool Loader::ObjectFile::loadAllSymbols ( SymbolTable symtab,
Addr  base = 0,
Addr  offset = 0,
Addr  mask = MaxAddr 
)
inlinevirtual

Reimplemented in Loader::ElfObject.

Definition at line 81 of file object_file.hh.

◆ loadGlobalSymbols()

virtual bool Loader::ObjectFile::loadGlobalSymbols ( SymbolTable symtab,
Addr  base = 0,
Addr  offset = 0,
Addr  mask = MaxAddr 
)
inlinevirtual

◆ loadLocalSymbols()

virtual bool Loader::ObjectFile::loadLocalSymbols ( SymbolTable symtab,
Addr  base = 0,
Addr  offset = 0,
Addr  mask = MaxAddr 
)
inlinevirtual

Reimplemented in Loader::ElfObject.

Definition at line 93 of file object_file.hh.

Referenced by KernelWorkload::KernelWorkload(), and Process::Process().

◆ loadWeakSymbols()

virtual bool Loader::ObjectFile::loadWeakSymbols ( SymbolTable symtab,
Addr  base = 0,
Addr  offset = 0,
Addr  mask = MaxAddr 
)
inlinevirtual

Reimplemented in Loader::ElfObject.

Definition at line 99 of file object_file.hh.

Referenced by Process::Process().

◆ mapSize()

virtual Addr Loader::ObjectFile::mapSize ( ) const
inlinevirtual

Reimplemented in Loader::ElfObject.

Definition at line 108 of file object_file.hh.

References panic.

◆ relocatable()

virtual bool Loader::ObjectFile::relocatable ( ) const
inlinevirtual

Reimplemented in Loader::ElfObject.

Definition at line 106 of file object_file.hh.

◆ updateBias()

virtual void Loader::ObjectFile::updateBias ( Addr  bias_addr)
inlinevirtual

Reimplemented in Loader::ElfObject.

Definition at line 113 of file object_file.hh.

References panic.

Member Data Documentation

◆ arch

Arch Loader::ObjectFile::arch = UnknownArch
protected

Definition at line 72 of file object_file.hh.

Referenced by Loader::ElfObject::determineArch(), and getArch().

◆ entry

Addr Loader::ObjectFile::entry = 0
protected

◆ opSys

OpSys Loader::ObjectFile::opSys = UnknownOpSys
protected

Definition at line 73 of file object_file.hh.

Referenced by Loader::ElfObject::determineOpSys(), and getOpSys().


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

Generated on Mon Jun 8 2020 15:45:58 for gem5 by doxygen 1.8.13