LLVM
8.0.1
|
#include "ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldMachOAArch64.h"
Public Types | |
typedef uint64_t | TargetPtrT |
Definition at line 20 of file RuntimeDyldMachOAArch64.h.
typedef uint64_t llvm::RuntimeDyldMachOAArch64::TargetPtrT |
Definition at line 24 of file RuntimeDyldMachOAArch64.h.
|
inline |
Definition at line 26 of file RuntimeDyldMachOAArch64.h.
|
inline |
Extract the addend encoded in the instruction / memory location.
Definition at line 35 of file RuntimeDyldMachOAArch64.h.
References llvm::MachO::ARM64_RELOC_BRANCH26, llvm::MachO::ARM64_RELOC_GOT_LOAD_PAGE21, llvm::MachO::ARM64_RELOC_GOT_LOAD_PAGEOFF12, llvm::MachO::ARM64_RELOC_PAGE21, llvm::MachO::ARM64_RELOC_PAGEOFF12, llvm::MachO::ARM64_RELOC_POINTER_TO_GOT, llvm::MachO::ARM64_RELOC_UNSIGNED, assert(), llvm::SectionEntry::getAddressWithOffset(), llvm::inconvertibleErrorCode(), LLVM_FALLTHROUGH, llvm_unreachable, llvm::RelocationEntry::Offset, llvm::RelocationEntry::RelType, llvm::ARMBuildAttrs::Section, llvm::RelocationEntry::SectionID, llvm::RuntimeDyldImpl::Sections, llvm::SignExtend64(), and llvm::RelocationEntry::Size.
Referenced by processRelocationRef().
|
inline |
Extract the addend encoded in the instruction.
Definition at line 156 of file RuntimeDyldMachOAArch64.h.
References llvm::MachO::ARM64_RELOC_BRANCH26, llvm::MachO::ARM64_RELOC_GOT_LOAD_PAGE21, llvm::MachO::ARM64_RELOC_GOT_LOAD_PAGEOFF12, llvm::MachO::ARM64_RELOC_PAGE21, llvm::MachO::ARM64_RELOC_PAGEOFF12, llvm::MachO::ARM64_RELOC_POINTER_TO_GOT, llvm::MachO::ARM64_RELOC_UNSIGNED, assert(), LLVM_FALLTHROUGH, and llvm_unreachable.
Referenced by resolveRelocation().
|
inline |
Definition at line 437 of file RuntimeDyldMachOAArch64.h.
References llvm::RuntimeDyldImpl::addRelocationForSection(), llvm::RuntimeDyldImpl::addRelocationForSymbol(), llvm::SectionEntry::advanceStubOffset(), llvm::MachO::ARM64_RELOC_ADDEND, llvm::MachO::ARM64_RELOC_BRANCH26, llvm::MachO::ARM64_RELOC_GOT_LOAD_PAGE21, llvm::MachO::ARM64_RELOC_GOT_LOAD_PAGEOFF12, llvm::MachO::ARM64_RELOC_PAGE21, llvm::MachO::ARM64_RELOC_PAGEOFF12, llvm::MachO::ARM64_RELOC_POINTER_TO_GOT, llvm::MachO::ARM64_RELOC_SUBTRACTOR, llvm::MachO::ARM64_RELOC_TLVP_LOAD_PAGE21, llvm::MachO::ARM64_RELOC_TLVP_LOAD_PAGEOFF12, llvm::MachO::ARM64_RELOC_UNSIGNED, assert(), llvm::StringMap< ValueTy, AllocatorTy >::find(), llvm::SectionEntry::getAddress(), llvm::object::MachOObjectFile::getAnyRelocationLength(), getMaxStubSize(), llvm::object::MachOObjectFile::getRelocation(), getStubAlignment(), llvm::SectionEntry::getStubOffset(), llvm::RuntimeDyldImpl::GlobalSymbolTable, llvm::RelocationEntry::IsPCRel, llvm::RelocationEntry::Offset, llvm::RelocationValueRef::Offset, llvm::RuntimeDyldImpl::readBytesUnaligned(), llvm::RelocationEntry::RelType, llvm::ARMBuildAttrs::Section, llvm::RelocationEntry::SectionID, llvm::RelocationValueRef::SectionID, llvm::RuntimeDyldImpl::Sections, llvm::SignExtend64(), Size, llvm::RelocationEntry::Size, llvm::Error::success(), llvm::RelocationValueRef::SymbolName, and llvm::Expected< T >::takeError().
|
inlineoverridevirtual |
Implements llvm::RuntimeDyldImpl.
Definition at line 30 of file RuntimeDyldMachOAArch64.h.
Referenced by finalizeSection().
|
inlineoverridevirtual |
Implements llvm::RuntimeDyldImpl.
Definition at line 32 of file RuntimeDyldMachOAArch64.h.
Referenced by finalizeSection().
|
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 274 of file RuntimeDyldMachOAArch64.h.
References llvm::RelocationEntry::Addend, llvm::RuntimeDyldImpl::addRelocationForSection(), llvm::RuntimeDyldImpl::addRelocationForSymbol(), llvm::MachO::ARM64_RELOC_ADDEND, llvm::MachO::ARM64_RELOC_GOT_LOAD_PAGE21, llvm::MachO::ARM64_RELOC_GOT_LOAD_PAGEOFF12, llvm::MachO::ARM64_RELOC_POINTER_TO_GOT, llvm::MachO::ARM64_RELOC_SUBTRACTOR, assert(), decodeAddend(), llvm::object::MachOObjectFile::getAnyRelocationLength(), llvm::object::MachOObjectFile::getAnyRelocationPCRel(), llvm::object::MachOObjectFile::getAnyRelocationType(), llvm::object::MachOObjectFile::getPlainRelocationExternal(), llvm::object::MachOObjectFile::getPlainRelocationSymbolNum(), llvm::object::MachOObjectFile::getRelocation(), llvm::RuntimeDyldMachO::getRelocationEntry(), llvm::RuntimeDyldMachO::getRelocationValueRef(), llvm::inconvertibleErrorCode(), llvm::RelocationEntry::IsPCRel, llvm::object::MachOObjectFile::isRelocationScattered(), llvm::RuntimeDyldMachO::makeValueAddendPCRel(), llvm::RelocationValueRef::Offset, llvm::RelocationEntry::RelType, llvm::RelocationValueRef::SectionID, llvm::SignExtend64(), llvm::RelocationEntry::Size, and llvm::RelocationValueRef::SymbolName.
|
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 356 of file RuntimeDyldMachOAArch64.h.
References llvm::RelocationEntry::Addend, llvm::MachO::ARM64_RELOC_ADDEND, llvm::MachO::ARM64_RELOC_BRANCH26, llvm::MachO::ARM64_RELOC_GOT_LOAD_PAGE21, llvm::MachO::ARM64_RELOC_GOT_LOAD_PAGEOFF12, llvm::MachO::ARM64_RELOC_PAGE21, llvm::MachO::ARM64_RELOC_PAGEOFF12, llvm::MachO::ARM64_RELOC_POINTER_TO_GOT, llvm::MachO::ARM64_RELOC_SUBTRACTOR, llvm::MachO::ARM64_RELOC_TLVP_LOAD_PAGE21, llvm::MachO::ARM64_RELOC_TLVP_LOAD_PAGEOFF12, llvm::MachO::ARM64_RELOC_UNSIGNED, assert(), llvm::RuntimeDyldMachO::dumpRelocationToResolve(), encodeAddend(), llvm::SectionEntry::getAddressWithOffset(), llvm::SectionEntry::getLoadAddressWithOffset(), llvm::RelocationEntry::IsPCRel, LLVM_DEBUG, llvm_unreachable, 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().