LLVM
8.0.1
|
#include "ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldMachOARM.h"
Public Types | |
typedef uint32_t | TargetPtrT |
Definition at line 20 of file RuntimeDyldMachOARM.h.
Definition at line 27 of file RuntimeDyldMachOARM.h.
|
inline |
Definition at line 29 of file RuntimeDyldMachOARM.h.
|
inline |
Definition at line 64 of file RuntimeDyldMachOARM.h.
References llvm::MachO::ARM_RELOC_BR24, llvm::MachO::ARM_THUMB_RELOC_BR22, llvm::SectionEntry::getAddressWithOffset(), llvm::inconvertibleErrorCode(), llvm::RuntimeDyldMachO::memcpyAddend(), llvm::RelocationEntry::Offset, llvm::RuntimeDyldImpl::readBytesUnaligned(), llvm::RelocationEntry::RelType, llvm::ARMBuildAttrs::Section, llvm::RelocationEntry::SectionID, and llvm::RuntimeDyldImpl::Sections.
Referenced by processRelocationRef().
|
inline |
Definition at line 290 of file RuntimeDyldMachOARM.h.
References llvm::RuntimeDyldImpl::addRelocationForSection(), llvm::RuntimeDyldImpl::addRelocationForSymbol(), llvm::SectionEntry::advanceStubOffset(), llvm::MachO::ARM_RELOC_BR24, llvm::MachO::ARM_THUMB_RELOC_BR22, assert(), llvm::dbgs(), llvm::RuntimeDyldImpl::findOrEmitSection(), llvm::MachO::GENERIC_RELOC_VANILLA, llvm::SectionEntry::getAddress(), llvm::SectionEntry::getAddressWithOffset(), llvm::object::MachOObjectFile::getAnyRelocationAddress(), llvm::object::MachOObjectFile::getAnyRelocationLength(), llvm::object::MachOObjectFile::getAnyRelocationPCRel(), llvm::object::MachOObjectFile::getAnyRelocationType(), getMaxStubSize(), llvm::object::SectionRef::getName(), llvm::object::MachOObjectFile::getRelocation(), llvm::object::MachOObjectFile::getScatteredRelocationValue(), llvm::RuntimeDyldMachO::getSectionByAddress(), llvm::SectionEntry::getStubOffset(), llvm::RelocationEntry::IsPCRel, llvm::RelocationEntry::IsTargetThumbFunc, llvm::object::SectionRef::isText(), LLVM_DEBUG, llvm_unreachable, Name, llvm::RelocationEntry::Offset, llvm::RelocationValueRef::Offset, llvm::RuntimeDyldMachO::populateIndirectSymbolPointersSection(), llvm::RuntimeDyldImpl::readBytesUnaligned(), llvm::RelocationEntry::RelType, resolveRelocation(), llvm::ARMBuildAttrs::Section, llvm::object::MachOObjectFile::section_end(), llvm::RelocationEntry::SectionID, llvm::RelocationValueRef::SectionID, llvm::RuntimeDyldImpl::Sections, llvm::RelocationEntry::Size, llvm::Error::success(), llvm::RelocationValueRef::SymbolName, and llvm::RuntimeDyldImpl::writeBytesUnaligned().
|
inlineoverridevirtual |
Generate JITSymbolFlags from a libObject symbol.
Reimplemented from llvm::RuntimeDyldImpl.
Definition at line 37 of file RuntimeDyldMachOARM.h.
References llvm::ARMJITSymbolFlags::fromObjectSymbol(), and llvm::RuntimeDyldImpl::getJITSymbolFlags().
|
inlineoverridevirtual |
Implements llvm::RuntimeDyldImpl.
Definition at line 33 of file RuntimeDyldMachOARM.h.
Referenced by finalizeSection().
|
inlineoverridevirtual |
Implements llvm::RuntimeDyldImpl.
Definition at line 35 of file RuntimeDyldMachOARM.h.
Definition at line 52 of file RuntimeDyldMachOARM.h.
References llvm::RuntimeDyldImpl::GlobalSymbolTable, llvm::RuntimeDyldImpl::Sections, and llvm::ARMJITSymbolFlags::Thumb.
Referenced by processRelocationRef().
|
inlineoverridevirtual |
Modify the given target address based on the given symbol flags.
This can be used by subclasses to tweak addresses based on symbol flags, For example: the MachO/ARM target uses it to set the low bit if the target is a thumb symbol.
Reimplemented from llvm::RuntimeDyldImpl.
Definition at line 45 of file RuntimeDyldMachOARM.h.
References llvm::JITSymbolFlags::getTargetFlags(), and llvm::ARMJITSymbolFlags::Thumb.
|
inlineoverridevirtual |
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 102 of file RuntimeDyldMachOARM.h.
References llvm::RelocationEntry::Addend, llvm::RuntimeDyldImpl::addRelocationForSection(), llvm::RuntimeDyldImpl::addRelocationForSymbol(), 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_THUMB_32BIT_BRANCH, llvm::MachO::ARM_THUMB_RELOC_BR22, decodeAddend(), llvm::StringMap< ValueTy, AllocatorTy >::end(), llvm::StringMap< ValueTy, AllocatorTy >::find(), llvm::MachO::GENERIC_RELOC_VANILLA, llvm::object::MachOObjectFile::getAnyRelocationType(), llvm::object::MachOObjectFile::getPlainRelocationExternal(), llvm::object::MachOObjectFile::getRelocation(), llvm::RuntimeDyldMachO::getRelocationEntry(), llvm::RuntimeDyldMachO::getRelocationValueRef(), llvm::RuntimeDyldImpl::GlobalSymbolTable, isAddrTargetThumb(), llvm::RelocationEntry::IsPCRel, llvm::object::MachOObjectFile::isRelocationScattered(), llvm::RelocationValueRef::IsStubThumb, llvm::RelocationEntry::IsTargetThumbFunc, llvm::RuntimeDyldMachO::makeValueAddendPCRel(), llvm::RelocationValueRef::Offset, llvm::RuntimeDyldMachO::processScatteredVANILLA(), llvm::RelocationEntry::RelType, llvm::RelocationValueRef::SectionID, llvm::ARMBuildAttrs::Symbol, llvm::RelocationValueRef::SymbolName, llvm::ARMJITSymbolFlags::Thumb, and UNIMPLEMENTED_RELOC.
|
inlineoverridevirtual |
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 204 of file RuntimeDyldMachOARM.h.
References llvm::RelocationEntry::Addend, llvm::MachO::ARM_RELOC_BR24, llvm::MachO::ARM_RELOC_HALF_SECTDIFF, llvm::MachO::ARM_RELOC_VANILLA, llvm::MachO::ARM_THUMB_RELOC_BR22, assert(), llvm::RuntimeDyldMachO::dumpRelocationToResolve(), llvm::SectionEntry::getAddressWithOffset(), llvm::SectionEntry::getLoadAddressWithOffset(), llvm::RelocationEntry::IsPCRel, llvm::RelocationEntry::IsTargetThumbFunc, LLVM_DEBUG, llvm_unreachable, llvm::RelocationEntry::Offset, llvm::RuntimeDyldImpl::readBytesUnaligned(), 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().
Referenced by finalizeSection().