class RuntimeDyldCheckerImpl
Declaration
class RuntimeDyldCheckerImpl { /* full declaration omitted */ };
Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldCheckerImpl.h:16
Member Variables
- private llvm::RuntimeDyldCheckerImpl:: IsSymbolValidFunction IsSymbolValid
- private llvm::RuntimeDyldCheckerImpl:: GetSymbolInfoFunction GetSymbolInfo
- private llvm::RuntimeDyldCheckerImpl:: GetSectionInfoFunction GetSectionInfo
- private llvm::RuntimeDyldCheckerImpl::GetStubInfoFunction GetStubInfo
- private llvm::RuntimeDyldCheckerImpl::GetGOTInfoFunction GetGOTInfo
- private support::endianness Endianness
- private llvm::MCDisassembler* Disassembler
- private llvm::MCInstPrinter* InstPrinter
- private llvm::raw_ostream& ErrStream
Method Overview
- public RuntimeDyldCheckerImpl(llvm::RuntimeDyldCheckerImpl::IsSymbolValidFunction IsSymbolValid, llvm::RuntimeDyldCheckerImpl::GetSymbolInfoFunction GetSymbolInfo, llvm::RuntimeDyldCheckerImpl::GetSectionInfoFunction GetSectionInfo, llvm::RuntimeDyldCheckerImpl::GetStubInfoFunction GetStubInfo, llvm::RuntimeDyldCheckerImpl::GetGOTInfoFunction GetGOTInfo, support::endianness Endianness, llvm::MCDisassembler * Disassembler, llvm::MCInstPrinter * InstPrinter, llvm::raw_ostream & ErrStream)
- public bool check(llvm::StringRef CheckExpr) const
- public bool checkAllRulesInBuffer(llvm::StringRef RulePrefix, llvm::MemoryBuffer * MemBuf) const
- private std::pair<uint64_t, std::string> getSectionAddr(llvm::StringRef FileName, llvm::StringRef SectionName, bool IsInsideLoad) const
- private Optional<uint64_t> getSectionLoadAddress(void * LocalAddr) const
- private std::pair<uint64_t, std::string> getStubOrGOTAddrFor(llvm::StringRef StubContainerName, llvm::StringRef Symbol, bool IsInsideLoad, bool IsStubAddr) const
- private llvm::StringRef getSymbolContent(llvm::StringRef Symbol) const
- private uint64_t getSymbolLocalAddr(llvm::StringRef Symbol) const
- private uint64_t getSymbolRemoteAddr(llvm::StringRef Symbol) const
- private bool isSymbolValid(llvm::StringRef Symbol) const
- private Expected<JITSymbolResolver::LookupResult> lookup(const JITSymbolResolver::LookupSet & Symbols) const
- private uint64_t readMemoryAtAddr(uint64_t Addr, unsigned int Size) const
Methods
¶RuntimeDyldCheckerImpl(
llvm::RuntimeDyldCheckerImpl::
IsSymbolValidFunction IsSymbolValid,
llvm::RuntimeDyldCheckerImpl::
GetSymbolInfoFunction GetSymbolInfo,
llvm::RuntimeDyldCheckerImpl::
GetSectionInfoFunction GetSectionInfo,
llvm::RuntimeDyldCheckerImpl::
GetStubInfoFunction GetStubInfo,
llvm::RuntimeDyldCheckerImpl::
GetGOTInfoFunction GetGOTInfo,
support::endianness Endianness,
llvm::MCDisassembler* Disassembler,
llvm::MCInstPrinter* InstPrinter,
llvm::raw_ostream& ErrStream)
RuntimeDyldCheckerImpl(
llvm::RuntimeDyldCheckerImpl::
IsSymbolValidFunction IsSymbolValid,
llvm::RuntimeDyldCheckerImpl::
GetSymbolInfoFunction GetSymbolInfo,
llvm::RuntimeDyldCheckerImpl::
GetSectionInfoFunction GetSectionInfo,
llvm::RuntimeDyldCheckerImpl::
GetStubInfoFunction GetStubInfo,
llvm::RuntimeDyldCheckerImpl::
GetGOTInfoFunction GetGOTInfo,
support::endianness Endianness,
llvm::MCDisassembler* Disassembler,
llvm::MCInstPrinter* InstPrinter,
llvm::raw_ostream& ErrStream)
Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldCheckerImpl.h:28
Parameters
- llvm::RuntimeDyldCheckerImpl:: IsSymbolValidFunction IsSymbolValid
- llvm::RuntimeDyldCheckerImpl:: GetSymbolInfoFunction GetSymbolInfo
- llvm::RuntimeDyldCheckerImpl:: GetSectionInfoFunction GetSectionInfo
- llvm::RuntimeDyldCheckerImpl::GetStubInfoFunction GetStubInfo
- llvm::RuntimeDyldCheckerImpl::GetGOTInfoFunction GetGOTInfo
- support::endianness Endianness
- llvm::MCDisassembler* Disassembler
- llvm::MCInstPrinter* InstPrinter
- llvm::raw_ostream& ErrStream
¶bool check(llvm::StringRef CheckExpr) const
bool check(llvm::StringRef CheckExpr) const
Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldCheckerImpl.h:35
Parameters
- llvm::StringRef CheckExpr
¶bool checkAllRulesInBuffer(
llvm::StringRef RulePrefix,
llvm::MemoryBuffer* MemBuf) const
bool checkAllRulesInBuffer(
llvm::StringRef RulePrefix,
llvm::MemoryBuffer* MemBuf) const
Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldCheckerImpl.h:36
Parameters
- llvm::StringRef RulePrefix
- llvm::MemoryBuffer* MemBuf
¶std::pair<uint64_t, std::string> getSectionAddr(
llvm::StringRef FileName,
llvm::StringRef SectionName,
bool IsInsideLoad) const
std::pair<uint64_t, std::string> getSectionAddr(
llvm::StringRef FileName,
llvm::StringRef SectionName,
bool IsInsideLoad) const
Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldCheckerImpl.h:52
Parameters
- llvm::StringRef FileName
- llvm::StringRef SectionName
- bool IsInsideLoad
¶Optional<uint64_t> getSectionLoadAddress(
void* LocalAddr) const
Optional<uint64_t> getSectionLoadAddress(
void* LocalAddr) const
Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldCheckerImpl.h:60
Parameters
- void* LocalAddr
¶std::pair<uint64_t, std::string>
getStubOrGOTAddrFor(
llvm::StringRef StubContainerName,
llvm::StringRef Symbol,
bool IsInsideLoad,
bool IsStubAddr) const
std::pair<uint64_t, std::string>
getStubOrGOTAddrFor(
llvm::StringRef StubContainerName,
llvm::StringRef Symbol,
bool IsInsideLoad,
bool IsStubAddr) const
Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldCheckerImpl.h:57
Parameters
- llvm::StringRef StubContainerName
- llvm::StringRef Symbol
- bool IsInsideLoad
- bool IsStubAddr
¶llvm::StringRef getSymbolContent(
llvm::StringRef Symbol) const
llvm::StringRef getSymbolContent(
llvm::StringRef Symbol) const
Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldCheckerImpl.h:50
Parameters
- llvm::StringRef Symbol
¶uint64_t getSymbolLocalAddr(
llvm::StringRef Symbol) const
uint64_t getSymbolLocalAddr(
llvm::StringRef Symbol) const
Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldCheckerImpl.h:46
Parameters
- llvm::StringRef Symbol
¶uint64_t getSymbolRemoteAddr(
llvm::StringRef Symbol) const
uint64_t getSymbolRemoteAddr(
llvm::StringRef Symbol) const
Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldCheckerImpl.h:47
Parameters
- llvm::StringRef Symbol
¶bool isSymbolValid(llvm::StringRef Symbol) const
bool isSymbolValid(llvm::StringRef Symbol) const
Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldCheckerImpl.h:45
Parameters
- llvm::StringRef Symbol
¶Expected<JITSymbolResolver::LookupResult> lookup(
const JITSymbolResolver::LookupSet& Symbols)
const
Expected<JITSymbolResolver::LookupResult> lookup(
const JITSymbolResolver::LookupSet& Symbols)
const
Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldCheckerImpl.h:43
Parameters
- const JITSymbolResolver::LookupSet& Symbols
¶uint64_t readMemoryAtAddr(uint64_t Addr,
unsigned int Size) const
uint64_t readMemoryAtAddr(uint64_t Addr,
unsigned int Size) const
Declared at: llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldCheckerImpl.h:48
Parameters
- uint64_t Addr
- unsigned int Size