LLVM: lib/ExecutionEngine/RuntimeDyld/RuntimeDyldCOFF.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13#ifndef LLVM_RUNTIME_DYLD_COFF_H

14#define LLVM_RUNTIME_DYLD_COFF_H

15

18

19namespace llvm {

20

21

22

24

25public:

26 std::unique_ptrRuntimeDyld::LoadedObjectInfo

29

30 static std::unique_ptr

33

34protected:

39 PointerReloc(PointerReloc) {

40 assert((PointerSize == 4 || PointerSize == 8) && "Unexpected pointer size");

41 }

42

45 StringRef Name, bool SetSectionIDMinus1 = false);

46

48

50

52 return alignTo(Size, PointerSize) + PointerSize;

53 }

54

55private:

56 unsigned PointerSize;

58};

59

60}

61

62#endif

assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")

Symbol resolution interface.

uint64_t getSymbolOffset(const SymbolRef &Sym)

static constexpr StringRef getImportSymbolPrefix()

Definition RuntimeDyldCOFF.h:47

RuntimeDyldCOFF(RuntimeDyld::MemoryManager &MemMgr, JITSymbolResolver &Resolver, unsigned PointerSize, uint32_t PointerReloc)

Definition RuntimeDyldCOFF.h:35

unsigned sizeAfterAddingDLLImportStub(unsigned Size) const override

Definition RuntimeDyldCOFF.h:51

std::unique_ptr< RuntimeDyld::LoadedObjectInfo > loadObject(const object::ObjectFile &Obj) override

static std::unique_ptr< RuntimeDyldCOFF > create(Triple::ArchType Arch, RuntimeDyld::MemoryManager &MemMgr, JITSymbolResolver &Resolver)

bool relocationNeedsDLLImportStub(const RelocationRef &R) const override

bool isCompatibleFile(const object::ObjectFile &Obj) const override

uint64_t getDLLImportOffset(unsigned SectionID, StubMap &Stubs, StringRef Name, bool SetSectionIDMinus1=false)

RuntimeDyldImpl(RuntimeDyld::MemoryManager &MemMgr, JITSymbolResolver &Resolver)

std::map< RelocationValueRef, uintptr_t > StubMap

JITSymbolResolver & Resolver

RuntimeDyld::MemoryManager & MemMgr

StringRef - Represent a constant reference to a string, i.e.

This class is the base class for all object file types.

This is a value type class that represents a single relocation in the list of relocations in the obje...

This is a value type class that represents a single symbol in the list of symbols in the object file.

This is an optimization pass for GlobalISel generic memory operations.

uint64_t alignTo(uint64_t Size, Align A)

Returns a multiple of A needed to store Size bytes.