14 #ifndef LLVM_LIB_EXECUTIONENGINE_RUNTIMEDYLD_RUNTIMEDYLDMACHO_H 15 #define LLVM_LIB_EXECUTIONENGINE_RUNTIMEDYLD_RUNTIMEDYLDMACHO_H 21 #define DEBUG_TYPE "dyld" 41 : EHFrameSID(EH), TextSID(T), ExceptTabSID(Ex) {}
75 uint64_t
Offset = RI->getOffset();
87 bool TargetIsLocalThumbFunc =
false);
99 getRelocationValueRef(
const ObjectFile &BaseTObj,
107 unsigned OffsetToNextPC);
110 void dumpRelocationToResolve(
const RelocationEntry &RE, uint64_t Value)
const;
120 unsigned PTSectionID);
125 static std::unique_ptr<RuntimeDyldMachO>
130 std::unique_ptr<RuntimeDyld::LoadedObjectInfo>
145 template <
typename Impl>
148 Impl &
impl() {
return static_cast<Impl &
>(*this); }
149 const Impl &
impl()
const {
return static_cast<const Impl &
>(*this); }
151 unsigned char *processFDE(uint8_t *
P, int64_t DeltaForText,
161 void registerEHFrames()
override;
RelocationEntry - used to represent relocations internally in the dynamic linker. ...
This class represents lattice values for constants.
unsigned getAnyRelocationPCRel(const MachO::any_relocation_info &RE) const
This class is the base class for all object file types.
Tagged union holding either a T or a Error.
place backedge safepoints impl
SectionEntry & getSection(unsigned SectionID)
unsigned getAnyRelocationType(const MachO::any_relocation_info &RE) const
RuntimeDyldMachOTarget - Templated base class for generic MachO linker algorithms and data structures...
RuntimeDyldMachO(RuntimeDyld::MemoryManager &MemMgr, JITSymbolResolver &Resolver)
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...
MachO::any_relocation_info getRelocation(DataRefImpl Rel) const
Interface for looking up the initializer for a variable name, used by Init::resolveReferences.
Symbol resolution interface.
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small...
#define RTDYLD_INVALID_SECTION_ID
unsigned getAnyRelocationLength(const MachO::any_relocation_info &RE) const
std::map< SectionRef, unsigned > ObjSectionToIDMap
SmallVector< EHFrameRelatedSections, 2 > UnregisteredEHFrameSections
RuntimeDyldMachOCRTPBase(RuntimeDyld::MemoryManager &MemMgr, JITSymbolResolver &Resolver)
SectionEntry - represents a section emitted into memory by the dynamic linker.
LLVM Value Representation.
Lightweight error class with error context and mandatory checking.
This is a value type class that represents a single section in the list of sections in the object fil...