003 File Manager
Current Path:
/usr/src/contrib/llvm-project/llvm/lib/ExecutionEngine/RuntimeDyld
usr
/
src
/
contrib
/
llvm-project
/
llvm
/
lib
/
ExecutionEngine
/
RuntimeDyld
/
📁
..
📄
JITSymbol.cpp
(5.67 KB)
📄
RTDyldMemoryManager.cpp
(9.91 KB)
📄
RuntimeDyld.cpp
(51.96 KB)
📄
RuntimeDyldCOFF.cpp
(4.18 KB)
📄
RuntimeDyldCOFF.h
(1.88 KB)
📄
RuntimeDyldChecker.cpp
(32.28 KB)
📄
RuntimeDyldCheckerImpl.h
(2.67 KB)
📄
RuntimeDyldELF.cpp
(76.35 KB)
📄
RuntimeDyldELF.h
(7.35 KB)
📄
RuntimeDyldImpl.h
(20.99 KB)
📄
RuntimeDyldMachO.cpp
(13.79 KB)
📄
RuntimeDyldMachO.h
(6.5 KB)
📁
Targets
Editing: RuntimeDyldCOFF.h
//===-- RuntimeDyldCOFF.h - Run-time dynamic linker for MC-JIT ---*- C++ -*-==// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // // COFF support for MC-JIT runtime dynamic linker. // //===----------------------------------------------------------------------===// #ifndef LLVM_RUNTIME_DYLD_COFF_H #define LLVM_RUNTIME_DYLD_COFF_H #include "RuntimeDyldImpl.h" #define DEBUG_TYPE "dyld" using namespace llvm; namespace llvm { // Common base class for COFF dynamic linker support. // Concrete subclasses for each target can be found in ./Targets. class RuntimeDyldCOFF : public RuntimeDyldImpl { public: std::unique_ptr<RuntimeDyld::LoadedObjectInfo> loadObject(const object::ObjectFile &Obj) override; bool isCompatibleFile(const object::ObjectFile &Obj) const override; static std::unique_ptr<RuntimeDyldCOFF> create(Triple::ArchType Arch, RuntimeDyld::MemoryManager &MemMgr, JITSymbolResolver &Resolver); protected: RuntimeDyldCOFF(RuntimeDyld::MemoryManager &MemMgr, JITSymbolResolver &Resolver, unsigned PointerSize, uint32_t PointerReloc) : RuntimeDyldImpl(MemMgr, Resolver), PointerSize(PointerSize), PointerReloc(PointerReloc) { assert((PointerSize == 4 || PointerSize == 8) && "Unexpected pointer size"); } uint64_t getSymbolOffset(const SymbolRef &Sym); uint64_t getDLLImportOffset(unsigned SectionID, StubMap &Stubs, StringRef Name, bool SetSectionIDMinus1 = false); static constexpr StringRef getImportSymbolPrefix() { return "__imp_"; } private: unsigned PointerSize; uint32_t PointerReloc; }; } // end namespace llvm #undef DEBUG_TYPE #endif
Upload File
Create Folder