|
| RuntimeDyldELFMips (RuntimeDyld::MemoryManager &MM, JITSymbolResolver &Resolver) |
void | resolveRelocation (const RelocationEntry &RE, uint64_t Value) override |
| A object file specific relocation resolver.
|
| RuntimeDyldELF (RuntimeDyld::MemoryManager &MemMgr, JITSymbolResolver &Resolver) |
| ~RuntimeDyldELF () override |
std::unique_ptr< RuntimeDyld::LoadedObjectInfo > | loadObject (const object::ObjectFile &O) override |
Expected< relocation_iterator > | processRelocationRef (unsigned SectionID, relocation_iterator RelI, const ObjectFile &Obj, ObjSectionToIDMap &ObjSectionToID, StubMap &Stubs) override |
| Parses one or more object file relocations (some object files use relocation pairs) and stores it to Relocations or SymbolRelocations (this depends on the object file type).
|
bool | isCompatibleFile (const object::ObjectFile &Obj) const override |
void | registerEHFrames () override |
Error | finalizeLoad (const ObjectFile &Obj, ObjSectionToIDMap &SectionMap) override |
| RuntimeDyldImpl (RuntimeDyld::MemoryManager &MemMgr, JITSymbolResolver &Resolver) |
virtual | ~RuntimeDyldImpl () |
void | setProcessAllSections (bool ProcessAllSections) |
uint64_t | getSectionLoadAddress (unsigned SectionID) const |
uint8_t * | getSectionAddress (unsigned SectionID) const |
StringRef | getSectionContent (unsigned SectionID) const |
uint8_t * | getSymbolLocalAddress (StringRef Name) const |
unsigned | getSymbolSectionID (StringRef Name) const |
JITEvaluatedSymbol | getSymbol (StringRef Name) const |
std::map< StringRef, JITEvaluatedSymbol > | getSymbolTable () const |
void | resolveRelocations () |
void | resolveLocalRelocations () |
void | reassignSectionAddress (unsigned SectionID, uint64_t Addr) |
void | mapSectionAddress (const void *LocalAddress, uint64_t TargetAddress) |
bool | hasError () |
void | clearError () |
StringRef | getErrorString () |
void | setNotifyStubEmitted (NotifyStubEmittedFunction NotifyStubEmitted) |
void | deregisterEHFrames () |
|
void | resolveMIPSO32Relocation (const SectionEntry &Section, uint64_t Offset, uint32_t Value, uint32_t Type, int32_t Addend) |
void | resolveMIPSN32Relocation (const SectionEntry &Section, uint64_t Offset, uint64_t Value, uint32_t Type, int64_t Addend, uint64_t SymOffset, SID SectionID) |
void | resolveMIPSN64Relocation (const SectionEntry &Section, uint64_t Offset, uint64_t Value, uint32_t Type, int64_t Addend, uint64_t SymOffset, SID SectionID) |
size_t | getGOTEntrySize () override |
void | writeInt16BE (uint8_t *Addr, uint16_t Value) |
void | writeInt32BE (uint8_t *Addr, uint32_t Value) |
void | writeInt64BE (uint8_t *Addr, uint64_t Value) |
uint64_t | readBytesUnaligned (uint8_t *Src, unsigned Size) const |
| Endian-aware read Read the least significant Size bytes from Src.
|
void | writeBytesUnaligned (uint64_t Value, uint8_t *Dst, unsigned Size) const |
| Endian-aware write.
|
virtual Expected< JITSymbolFlags > | getJITSymbolFlags (const SymbolRef &Sym) |
| Generate JITSymbolFlags from a libObject symbol.
|
virtual uint64_t | modifyAddressBasedOnFlags (uint64_t Addr, JITSymbolFlags Flags) const |
| Modify the given target address based on the given symbol flags.
|
Error | emitCommonSymbols (const ObjectFile &Obj, CommonSymbolList &CommonSymbols, uint64_t CommonSize, uint32_t CommonAlign) |
| Given the common symbols discovered in the object file, emit a new section for them and update the symbol mappings in the object and symbol table.
|
Expected< unsigned > | emitSection (const ObjectFile &Obj, const SectionRef &Section, bool IsCode) |
| Emits section data from the object file to the MemoryManager.
|
Expected< unsigned > | findOrEmitSection (const ObjectFile &Obj, const SectionRef &Section, bool IsCode, ObjSectionToIDMap &LocalSections) |
| Find Section in LocalSections.
|
void | addRelocationForSection (const RelocationEntry &RE, unsigned SectionID) |
void | addRelocationForSymbol (const RelocationEntry &RE, StringRef SymbolName) |
uint8_t * | createStubFunction (uint8_t *Addr, unsigned AbiVariant=0) |
| Emits long jump instruction to Addr.
|
void | resolveRelocationList (const RelocationList &Relocs, uint64_t Value) |
| Resolves relocations from Relocs list with address from Value.
|
void | applyExternalSymbolRelocations (const StringMap< JITEvaluatedSymbol > ExternalSymbolMap) |
Error | resolveExternalSymbols () |
| Resolve relocations to external symbols.
|
Error | computeTotalAllocSize (const ObjectFile &Obj, uint64_t &CodeSize, Align &CodeAlign, uint64_t &RODataSize, Align &RODataAlign, uint64_t &RWDataSize, Align &RWDataAlign) |
unsigned | computeGOTSize (const ObjectFile &Obj) |
unsigned | computeSectionStubBufSize (const ObjectFile &Obj, const SectionRef &Section) |
Expected< ObjSectionToIDMap > | loadObjectImpl (const object::ObjectFile &Obj) |
virtual bool | relocationNeedsDLLImportStub (const RelocationRef &R) const |
virtual unsigned | sizeAfterAddingDLLImportStub (unsigned Size) const |
Definition at line 18 of file RuntimeDyldELFMips.h.