|
LLVM
4.0.0
|
#include <RuntimeDyldCOFF.h>
Public Member Functions | |
| std::unique_ptr < RuntimeDyld::LoadedObjectInfo > | loadObject (const object::ObjectFile &Obj) override |
| bool | isCompatibleFile (const object::ObjectFile &Obj) const override |
Public Member Functions inherited from llvm::RuntimeDyldImpl | |
| RuntimeDyldImpl (RuntimeDyld::MemoryManager &MemMgr, JITSymbolResolver &Resolver) | |
| virtual | ~RuntimeDyldImpl () |
| void | setProcessAllSections (bool ProcessAllSections) |
| void | setRuntimeDyldChecker (RuntimeDyldCheckerImpl *Checker) |
| uint8_t * | getSymbolLocalAddress (StringRef Name) const |
| JITEvaluatedSymbol | getSymbol (StringRef Name) const |
| void | resolveRelocations () |
| void | reassignSectionAddress (unsigned SectionID, uint64_t Addr) |
| void | mapSectionAddress (const void *LocalAddress, uint64_t TargetAddress) |
| bool | hasError () |
| void | clearError () |
| StringRef | getErrorString () |
| virtual void | registerEHFrames () |
| virtual void | deregisterEHFrames () |
| virtual Error | finalizeLoad (const ObjectFile &ObjImg, ObjSectionToIDMap &SectionMap) |
Static Public Member Functions | |
| static std::unique_ptr < RuntimeDyldCOFF > | create (Triple::ArchType Arch, RuntimeDyld::MemoryManager &MemMgr, JITSymbolResolver &Resolver) |
Protected Member Functions | |
| RuntimeDyldCOFF (RuntimeDyld::MemoryManager &MemMgr, JITSymbolResolver &Resolver) | |
| uint64_t | getSymbolOffset (const SymbolRef &Sym) |
Protected Member Functions inherited from llvm::RuntimeDyldImpl | |
| virtual unsigned | getMaxStubSize ()=0 |
| virtual unsigned | getStubAlignment ()=0 |
| uint64_t | getSectionLoadAddress (unsigned SectionID) const |
| uint8_t * | getSectionAddress (unsigned SectionID) const |
| void | writeInt16BE (uint8_t *Addr, uint16_t Value) |
| void | writeInt32BE (uint8_t *Addr, uint32_t Value) |
| void | writeInt64BE (uint8_t *Addr, uint64_t Value) |
| virtual void | setMipsABI (const ObjectFile &Obj) |
| uint64_t | readBytesUnaligned (uint8_t *Src, unsigned Size) const |
| Endian-aware read Read the least significant Size bytes from Src. More... | |
| void | writeBytesUnaligned (uint64_t Value, uint8_t *Dst, unsigned Size) const |
| Endian-aware write. More... | |
| Error | emitCommonSymbols (const ObjectFile &Obj, CommonSymbolList &CommonSymbols) |
| 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. More... | |
| Expected< unsigned > | emitSection (const ObjectFile &Obj, const SectionRef &Section, bool IsCode) |
| Emits section data from the object file to the MemoryManager. More... | |
| Expected< unsigned > | findOrEmitSection (const ObjectFile &Obj, const SectionRef &Section, bool IsCode, ObjSectionToIDMap &LocalSections) |
| Find Section in LocalSections. More... | |
| 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. More... | |
| void | resolveRelocationList (const RelocationList &Relocs, uint64_t Value) |
| Resolves relocations from Relocs list with address from Value. More... | |
| virtual void | resolveRelocation (const RelocationEntry &RE, uint64_t Value)=0 |
| A object file specific relocation resolver. More... | |
| virtual Expected < relocation_iterator > | processRelocationRef (unsigned SectionID, relocation_iterator RelI, const ObjectFile &Obj, ObjSectionToIDMap &ObjSectionToID, StubMap &Stubs)=0 |
| 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). More... | |
| void | resolveExternalSymbols () |
| Resolve relocations to external symbols. More... | |
| Error | computeTotalAllocSize (const ObjectFile &Obj, uint64_t &CodeSize, uint32_t &CodeAlign, uint64_t &RODataSize, uint32_t &RODataAlign, uint64_t &RWDataSize, uint32_t &RWDataAlign) |
| unsigned | computeSectionStubBufSize (const ObjectFile &Obj, const SectionRef &Section) |
| Expected< ObjSectionToIDMap > | loadObjectImpl (const object::ObjectFile &Obj) |
| virtual bool | relocationNeedsStub (const RelocationRef &R) const |
Definition at line 27 of file RuntimeDyldCOFF.h.
|
inlineprotected |
Definition at line 39 of file RuntimeDyldCOFF.h.
|
static |
Definition at line 45 of file RuntimeDyldCOFF.cpp.
References llvm_unreachable, llvm::Triple::thumb, llvm::Triple::x86, and llvm::Triple::x86_64.
Referenced by llvm::createRuntimeDyldCOFF().
Definition at line 71 of file RuntimeDyldCOFF.cpp.
References llvm::object::SymbolRef::getValue().
Referenced by llvm::RuntimeDyldCOFFI386::processRelocationRef(), llvm::RuntimeDyldCOFFThumb::processRelocationRef(), and llvm::RuntimeDyldCOFFX86_64::processRelocationRef().
|
overridevirtual |
Implements llvm::RuntimeDyldImpl.
Definition at line 76 of file RuntimeDyldCOFF.cpp.
References llvm::object::Binary::isCOFF().
|
overridevirtual |
Implements llvm::RuntimeDyldImpl.
Definition at line 60 of file RuntimeDyldCOFF.cpp.
References llvm::logAllUnhandledErrors().
1.8.6