|
LLVM
8.0.1
|
#include "ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldELFMips.h"


Public Types | |
| typedef uint64_t | TargetPtrT |
Protected Member Functions | |
| 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) |
Protected Member Functions inherited from llvm::RuntimeDyldELF | |
| size_t | getGOTEntrySize () override |
Protected Member Functions inherited from llvm::RuntimeDyldImpl | |
| 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) |
| 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... | |
| virtual Expected< JITSymbolFlags > | getJITSymbolFlags (const SymbolRef &Sym) |
| Generate JITSymbolFlags from a libObject symbol. More... | |
| virtual uint64_t | modifyAddressBasedOnFlags (uint64_t Addr, JITSymbolFlags Flags) const |
| Modify the given target address based on the given symbol flags. More... | |
| 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. 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... | |
| void | applyExternalSymbolRelocations (const StringMap< JITEvaluatedSymbol > ExternalSymbolMap) |
| Error | 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 | computeGOTSize (const ObjectFile &Obj) |
| unsigned | computeSectionStubBufSize (const ObjectFile &Obj, const SectionRef &Section) |
| Expected< ObjSectionToIDMap > | loadObjectImpl (const object::ObjectFile &Obj) |
Definition at line 20 of file RuntimeDyldELFMips.h.
| typedef uint64_t llvm::RuntimeDyldELFMips::TargetPtrT |
Definition at line 23 of file RuntimeDyldELFMips.h.
|
inline |
Definition at line 25 of file RuntimeDyldELFMips.h.
References resolveMIPSN32Relocation(), resolveMIPSN64Relocation(), resolveMIPSO32Relocation(), resolveRelocation(), and llvm::ARMBuildAttrs::Section.
|
protected |
Definition at line 266 of file RuntimeDyldELFMips.cpp.
References llvm::SectionEntry::getAddressWithOffset().
Referenced by resolveRelocation(), and RuntimeDyldELFMips().
|
protected |
Definition at line 275 of file RuntimeDyldELFMips.cpp.
References llvm::SectionEntry::getAddressWithOffset().
Referenced by resolveRelocation(), and RuntimeDyldELFMips().
|
protected |
Definition at line 304 of file RuntimeDyldELFMips.cpp.
References llvm::dbgs(), llvm::format(), llvm::SectionEntry::getAddressWithOffset(), llvm::SectionEntry::getLoadAddressWithOffset(), and LLVM_DEBUG.
Referenced by resolveRelocation(), and RuntimeDyldELFMips().
|
overridevirtual |
A object file specific relocation resolver.
| RE | The relocation to be resolved |
| Value | Target symbol address to apply the relocation action |
Reimplemented from llvm::RuntimeDyldELF.
Definition at line 15 of file RuntimeDyldELFMips.cpp.
References llvm::RelocationEntry::Addend, assert(), llvm::dbgs(), llvm::format(), llvm::SectionEntry::getAddressWithOffset(), llvm::RuntimeDyldELF::getGOTEntrySize(), llvm::SectionEntry::getLoadAddressWithOffset(), llvm::RuntimeDyldImpl::getSectionAddress(), llvm::RuntimeDyldImpl::getSectionLoadAddress(), llvm::RuntimeDyldImpl::IsMipsN32ABI, llvm::RuntimeDyldImpl::IsMipsN64ABI, llvm::RuntimeDyldImpl::IsMipsO32ABI, LLVM_DEBUG, llvm_unreachable, llvm::RelocationEntry::Offset, llvm::RuntimeDyldImpl::readBytesUnaligned(), llvm::RelocationEntry::RelType, resolveMIPSN32Relocation(), resolveMIPSN64Relocation(), resolveMIPSO32Relocation(), llvm::ARMBuildAttrs::Section, llvm::RelocationEntry::SectionID, llvm::RuntimeDyldImpl::Sections, llvm::RuntimeDyldELF::SectionToGOTMap, llvm::RelocationEntry::SymOffset, and llvm::RuntimeDyldImpl::writeBytesUnaligned().
Referenced by RuntimeDyldELFMips().
1.8.13