41#ifndef __BASE_LOADER_ELF_OBJECT_HH__
42#define __BASE_LOADER_ELF_OBJECT_HH__
std::string getInterpPath(const GElf_Phdr &phdr) const
bool relocatable() const override
ObjectFile * getInterpreter() const override
Addr bias() const override
uint16_t programHeaderSize()
std::set< std::string > sectionNames
void handleLoadableSegment(GElf_Phdr phdr, int seg_num)
Addr mapSize() const override
MemoryImage buildImage() const override
uint16_t _programHeaderSize
bool sectionExists(std::string sec)
Addr programHeaderTable()
void determineByteOrder()
uint16_t _programHeaderCount
void updateBias(Addr bias_addr) override
uint16_t programHeaderCount()
bool loadSomeSymbols(SymbolTable *symtab, int binding, Addr mask, Addr base, Addr offset)
Helper functions for loadGlobalSymbols() and loadLocalSymbols().
ElfObject(ImageFileDataPtr ifd)
const SymbolTable & symtab() const
void setInterpDir(const std::string &dirname)
This is the interface for setting up a base path for the elf interpreter.
std::shared_ptr< ImageFileData > ImageFileDataPtr
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.