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: RuntimeDyldCheckerImpl.h
//===-- RuntimeDyldCheckerImpl.h -- RuntimeDyld test framework --*- 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 // //===----------------------------------------------------------------------===// #ifndef LLVM_LIB_EXECUTIONENGINE_RUNTIMEDYLD_RUNTIMEDYLDCHECKERIMPL_H #define LLVM_LIB_EXECUTIONENGINE_RUNTIMEDYLD_RUNTIMEDYLDCHECKERIMPL_H #include "RuntimeDyldImpl.h" namespace llvm { class RuntimeDyldCheckerImpl { friend class RuntimeDyldChecker; friend class RuntimeDyldCheckerExprEval; using IsSymbolValidFunction = RuntimeDyldChecker::IsSymbolValidFunction; using GetSymbolInfoFunction = RuntimeDyldChecker::GetSymbolInfoFunction; using GetSectionInfoFunction = RuntimeDyldChecker::GetSectionInfoFunction; using GetStubInfoFunction = RuntimeDyldChecker::GetStubInfoFunction; using GetGOTInfoFunction = RuntimeDyldChecker::GetGOTInfoFunction; public: RuntimeDyldCheckerImpl( IsSymbolValidFunction IsSymbolValid, GetSymbolInfoFunction GetSymbolInfo, GetSectionInfoFunction GetSectionInfo, GetStubInfoFunction GetStubInfo, GetGOTInfoFunction GetGOTInfo, support::endianness Endianness, MCDisassembler *Disassembler, MCInstPrinter *InstPrinter, llvm::raw_ostream &ErrStream); bool check(StringRef CheckExpr) const; bool checkAllRulesInBuffer(StringRef RulePrefix, MemoryBuffer *MemBuf) const; private: // StubMap typedefs. Expected<JITSymbolResolver::LookupResult> lookup(const JITSymbolResolver::LookupSet &Symbols) const; bool isSymbolValid(StringRef Symbol) const; uint64_t getSymbolLocalAddr(StringRef Symbol) const; uint64_t getSymbolRemoteAddr(StringRef Symbol) const; uint64_t readMemoryAtAddr(uint64_t Addr, unsigned Size) const; StringRef getSymbolContent(StringRef Symbol) const; std::pair<uint64_t, std::string> getSectionAddr(StringRef FileName, StringRef SectionName, bool IsInsideLoad) const; std::pair<uint64_t, std::string> getStubOrGOTAddrFor(StringRef StubContainerName, StringRef Symbol, bool IsInsideLoad, bool IsStubAddr) const; Optional<uint64_t> getSectionLoadAddress(void *LocalAddr) const; IsSymbolValidFunction IsSymbolValid; GetSymbolInfoFunction GetSymbolInfo; GetSectionInfoFunction GetSectionInfo; GetStubInfoFunction GetStubInfo; GetGOTInfoFunction GetGOTInfo; support::endianness Endianness; MCDisassembler *Disassembler; MCInstPrinter *InstPrinter; llvm::raw_ostream &ErrStream; }; } #endif
Upload File
Create Folder