LLVM API Documentation
#include <RuntimeDyldMachOARM.h>
Public Types | |
typedef uint32_t | TargetPtrT |
Public Member Functions | |
RuntimeDyldMachOARM (RTDyldMemoryManager *MM) | |
unsigned | getMaxStubSize () override |
unsigned | getStubAlignment () override |
int64_t | decodeAddend (const RelocationEntry &RE) const |
relocation_iterator | processRelocationRef (unsigned SectionID, relocation_iterator RelI, ObjectImage &ObjImg, ObjSectionToIDMap &ObjSectionToID, const SymbolTableMap &Symbols, 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). | |
void | resolveRelocation (const RelocationEntry &RE, uint64_t Value) override |
A object file specific relocation resolver. | |
void | finalizeSection (ObjectImage &ObjImg, unsigned SectionID, const SectionRef &Section) |
Definition at line 19 of file RuntimeDyldMachOARM.h.
typedef uint32_t llvm::RuntimeDyldMachOARM::TargetPtrT |
Definition at line 26 of file RuntimeDyldMachOARM.h.
llvm::RuntimeDyldMachOARM::RuntimeDyldMachOARM | ( | RTDyldMemoryManager * | MM | ) | [inline] |
Definition at line 28 of file RuntimeDyldMachOARM.h.
int64_t llvm::RuntimeDyldMachOARM::decodeAddend | ( | const RelocationEntry & | RE | ) | const [inline] |
Definition at line 34 of file RuntimeDyldMachOARM.h.
References llvm::SectionEntry::Address, llvm::MachO::ARM_RELOC_BR24, llvm::LibFunc::memcpy, llvm::RuntimeDyldMachO::memcpyAddend(), llvm::RelocationEntry::Offset, llvm::RelocationEntry::RelType, llvm::ARMBuildAttrs::Section, llvm::RelocationEntry::SectionID, and llvm::RuntimeDyldImpl::Sections.
Referenced by processRelocationRef().
void llvm::RuntimeDyldMachOARM::finalizeSection | ( | ObjectImage & | ObjImg, |
unsigned | SectionID, | ||
const SectionRef & | Section | ||
) | [inline] |
Definition at line 158 of file RuntimeDyldMachOARM.h.
References llvm::object::SectionRef::getName(), llvm::ObjectImage::getObjectFile(), Name, and llvm::RuntimeDyldMachO::populateIndirectSymbolPointersSection().
unsigned llvm::RuntimeDyldMachOARM::getMaxStubSize | ( | ) | [inline, override, virtual] |
Implements llvm::RuntimeDyldImpl.
Definition at line 30 of file RuntimeDyldMachOARM.h.
unsigned llvm::RuntimeDyldMachOARM::getStubAlignment | ( | ) | [inline, override, virtual] |
Implements llvm::RuntimeDyldImpl.
Definition at line 32 of file RuntimeDyldMachOARM.h.
relocation_iterator llvm::RuntimeDyldMachOARM::processRelocationRef | ( | unsigned | SectionID, |
relocation_iterator | RelI, | ||
ObjectImage & | Obj, | ||
ObjSectionToIDMap & | ObjSectionToID, | ||
const SymbolTableMap & | Symbols, | ||
StubMap & | Stubs | ||
) | [inline, override, virtual] |
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).
Implements llvm::RuntimeDyldImpl.
Definition at line 52 of file RuntimeDyldMachOARM.h.
References llvm::RelocationEntry::Addend, llvm::RuntimeDyldImpl::addRelocationForSection(), llvm::RuntimeDyldImpl::addRelocationForSymbol(), llvm::MachO::ARM_RELOC_BR24, llvm::MachO::ARM_RELOC_HALF_SECTDIFF, decodeAddend(), llvm::object::MachOObjectFile::getAnyRelocationType(), llvm::ObjectImage::getObjectFile(), llvm::object::MachOObjectFile::getRelocation(), llvm::RuntimeDyldMachO::getRelocationEntry(), llvm::RuntimeDyldMachO::getRelocationValueRef(), llvm::RelocationEntry::IsPCRel, llvm::object::MachOObjectFile::isRelocationScattered(), llvm::RuntimeDyldMachO::makeValueAddendPCRel(), llvm::RelocationValueRef::Offset, llvm::RelocationEntry::RelType, llvm::RelocationValueRef::SectionID, and llvm::RelocationValueRef::SymbolName.
void llvm::RuntimeDyldMachOARM::resolveRelocation | ( | const RelocationEntry & | RE, |
uint64_t | Value | ||
) | [inline, override, virtual] |
A object file specific relocation resolver.
RE | The relocation to be resolved |
Value | Target symbol address to apply the relocation action |
Implements llvm::RuntimeDyldImpl.
Definition at line 90 of file RuntimeDyldMachOARM.h.
References llvm::RelocationEntry::Addend, llvm::SectionEntry::Address, llvm::MachO::ARM_RELOC_BR24, llvm::MachO::ARM_RELOC_HALF, llvm::MachO::ARM_RELOC_HALF_SECTDIFF, llvm::MachO::ARM_RELOC_LOCAL_SECTDIFF, llvm::MachO::ARM_RELOC_PAIR, llvm::MachO::ARM_RELOC_PB_LA_PTR, llvm::MachO::ARM_RELOC_SECTDIFF, llvm::MachO::ARM_RELOC_VANILLA, llvm::MachO::ARM_THUMB_32BIT_BRANCH, llvm::MachO::ARM_THUMB_RELOC_BR22, DEBUG, llvm::RuntimeDyldMachO::dumpRelocationToResolve(), llvm::RuntimeDyldImpl::Error(), llvm::RelocationEntry::IsPCRel, llvm_unreachable, llvm::SectionEntry::LoadAddress, llvm::LibFunc::memcpy, llvm::RelocationEntry::Offset, llvm::RelocationEntry::RelType, llvm::ARMBuildAttrs::Section, llvm::RelocationEntry::SectionPair::SectionA, llvm::RelocationEntry::SectionPair::SectionB, llvm::RelocationEntry::SectionID, llvm::RelocationEntry::Sections, llvm::RuntimeDyldImpl::Sections, llvm::RelocationEntry::Size, and llvm::RuntimeDyldImpl::writeBytesUnaligned().