43 #ifndef __ELF_OBJECT_HH__
44 #define __ELF_OBJECT_HH__
86 ElfObject(
const std::string &_filename,
size_t _len, uint8_t *_data,
128 bool skip_interp_check =
false);
134 #endif // __ELF_OBJECT_HH__
virtual bool loadWeakSymbols(SymbolTable *symtab, Addr base=0, Addr offset=0, Addr addr_mask=maxAddr) override
Addr programHeaderTable()
ObjectFile::Section Segment
bool loadSections(PortProxy &mem_proxy, Addr addr_mask=maxAddr, Addr offset=0) override
ElfObject(const std::string &_filename, size_t _len, uint8_t *_data, Arch _arch, OpSys _opSys)
virtual bool hasTLS() override
virtual Addr bias() const override
virtual bool relocatable() const override
bool sectionExists(std::string sec)
virtual bool loadAllSymbols(SymbolTable *symtab, Addr base=0, Addr offset=0, Addr addr_mask=maxAddr) override
virtual bool loadGlobalSymbols(SymbolTable *symtab, Addr base=0, Addr offset=0, Addr addr_mask=maxAddr) override
virtual void updateBias(Addr bias_addr) override
virtual Addr mapSize() const override
virtual ObjectFile * getInterpreter() const override
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
uint16_t _programHeaderCount
uint16_t programHeaderSize()
This object is a proxy for a structural port, to be used for debug accesses.
static ObjectFile * tryFile(const std::string &fname, size_t len, uint8_t *data, bool skip_interp_check=false)
uint16_t programHeaderCount()
bool loadSomeSymbols(SymbolTable *symtab, int binding, Addr mask, Addr base, Addr offset)
Helper functions for loadGlobalSymbols() and loadLocalSymbols().
std::vector< Segment > extraSegments
uint16_t _programHeaderSize
std::set< std::string > sectionNames
virtual bool loadLocalSymbols(SymbolTable *symtab, Addr base=0, Addr offset=0, Addr addr_mask=maxAddr) override
static const Addr maxAddr