9#ifndef LLVM_LIB_EXECUTIONENGINE_RUNTIMEDYLD_RUNTIMEDYLDCHECKERIMPL_H
10#define LLVM_LIB_EXECUTIONENGINE_RUNTIMEDYLD_RUNTIMEDYLDCHECKERIMPL_H
20 using IsSymbolValidFunction =
29 IsSymbolValidFunction IsSymbolValid, GetSymbolInfoFunction GetSymbolInfo,
30 GetSectionInfoFunction GetSectionInfo, GetStubInfoFunction GetStubInfo,
45 bool isSymbolValid(
StringRef Symbol)
const;
52 std::pair<uint64_t, std::string> getSectionAddr(
StringRef FileName,
54 bool IsInsideLoad)
const;
56 std::pair<uint64_t, std::string>
58 bool IsInsideLoad,
bool IsStubAddr)
const;
60 std::optional<uint64_t> getSectionLoadAddress(
void *LocalAddr)
const;
62 IsSymbolValidFunction IsSymbolValid;
63 GetSymbolInfoFunction GetSymbolInfo;
64 GetSectionInfoFunction GetSectionInfo;
65 GetStubInfoFunction GetStubInfo;
66 GetGOTInfoFunction GetGOTInfo;
static bool lookup(const GsymReader &GR, DataExtractor &Data, uint64_t &Offset, uint64_t BaseAddr, uint64_t Addr, SourceLocations &SrcLocs, llvm::Error &Err)
A Lookup helper functions.
Tagged union holding either a T or a Error.
std::set< StringRef > LookupSet
Superclass for all disassemblers.
This is an instance of a target assembly language printer that converts an MCInst to valid target ass...
This interface provides simple read-only access to a block of memory, and provides simple methods for...
bool checkAllRulesInBuffer(StringRef RulePrefix, MemoryBuffer *MemBuf) const
RuntimeDyld invariant checker for verifying that RuntimeDyld has correctly applied relocations.
std::function< Expected< MemoryRegionInfo >(StringRef StubContainer, StringRef TargetName)> GetStubInfoFunction
std::function< bool(StringRef Symbol)> IsSymbolValidFunction
std::function< Expected< MemoryRegionInfo >(StringRef FileName, StringRef SectionName)> GetSectionInfoFunction
std::function< Expected< MemoryRegionInfo >(StringRef GOTContainer, StringRef TargetName)> GetGOTInfoFunction
std::function< Expected< MemoryRegionInfo >(StringRef SymbolName)> GetSymbolInfoFunction
StringRef - Represent a constant reference to a string, i.e.
This class implements an extremely fast bulk output stream that can only output to a stream.
This is an optimization pass for GlobalISel generic memory operations.