14 #ifndef LLVM_LIB_EXECUTIONENGINE_RUNTIMEDYLD_RUNTIMEDYLDMACHO_H
15 #define LLVM_LIB_EXECUTIONENGINE_RUNTIMEDYLD_RUNTIMEDYLDMACHO_H
21 #define DEBUG_TYPE "dyld"
24 using namespace llvm::object;
41 : EHFrameSID(EH), TextSID(T), ExceptTabSID(Ex) {}
75 uint64_t Offset = RI->getOffset();
94 ObjSectionToIDMap &ObjSectionToID);
99 unsigned OffsetToNextPC);
112 unsigned PTSectionID);
117 static std::unique_ptr<RuntimeDyldMachO>
122 std::unique_ptr<RuntimeDyld::LoadedObjectInfo>
137 template <
typename Impl>
140 Impl &
impl() {
return static_cast<Impl &
>(*this); }
141 const Impl &
impl()
const {
return static_cast<const Impl &
>(*this); }
143 unsigned char *processFDE(
unsigned char *
P, int64_t DeltaForText,
152 ObjSectionToIDMap &SectionMap)
override;
153 void registerEHFrames()
override;
RelocationEntry - used to represent relocations internally in the dynamic linker. ...
unsigned getAnyRelocationType(const MachO::any_relocation_info &RE) const
RuntimeDyldMachO(RuntimeDyld::MemoryManager &MemMgr, RuntimeDyld::SymbolResolver &Resolver)
This class is the base class for all object file types.
RelocationEntry getRelocationEntry(unsigned SectionID, const ObjectFile &BaseTObj, const relocation_iterator &RI) const
Given a relocation_iterator for a non-scattered relocation, construct a RelocationEntry and fill in t...
place backedge safepoints impl
SectionEntry & getSection(unsigned SectionID)
RuntimeDyldMachOTarget - Templated base class for generic MachO linker algorithms and data structures...
MachO::any_relocation_info getRelocation(DataRefImpl Rel) const
unsigned getAnyRelocationPCRel(const MachO::any_relocation_info &RE) const
unsigned getAnyRelocationLength(const MachO::any_relocation_info &RE) const
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small...
#define RTDYLD_INVALID_SECTION_ID
SmallVector< EHFrameRelatedSections, 2 > UnregisteredEHFrameSections
SectionEntry - represents a section emitted into memory by the dynamic linker.
LLVM Value Representation.
This is a value type class that represents a single section in the list of sections in the object fil...
RuntimeDyldMachOCRTPBase(RuntimeDyld::MemoryManager &MemMgr, RuntimeDyld::SymbolResolver &Resolver)