9#ifndef LLVM_LIB_EXECUTIONENGINE_RUNTIMEDYLD_RUNTIMEDYLDCHECKERIMPL_H
10#define LLVM_LIB_EXECUTIONENGINE_RUNTIMEDYLD_RUNTIMEDYLDCHECKERIMPL_H
23 using IsSymbolValidFunction =
32 GetSymbolInfoFunction GetSymbolInfo,
33 GetSectionInfoFunction GetSectionInfo,
34 GetStubInfoFunction GetStubInfo,
35 GetGOTInfoFunction GetGOTInfo,
49 bool isSymbolValid(
StringRef Symbol)
const;
61 std::pair<uint64_t, std::string> getSectionAddr(
StringRef FileName,
63 bool IsInsideLoad)
const;
65 std::pair<uint64_t, std::string>
67 StringRef StubKindFilter,
bool IsInsideLoad,
68 bool IsStubAddr)
const;
70 std::optional<uint64_t> getSectionLoadAddress(
void *LocalAddr)
const;
72 IsSymbolValidFunction IsSymbolValid;
73 GetSymbolInfoFunction GetSymbolInfo;
74 GetSectionInfoFunction GetSectionInfo;
75 GetStubInfoFunction GetStubInfo;
76 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.
static FeatureBitset getFeatures(StringRef CPU, StringRef TuneCPU, StringRef FS, ArrayRef< SubtargetSubTypeKV > ProcDesc, ArrayRef< SubtargetFeatureKV > ProcFeatures)
Tagged union holding either a T or a Error.
std::set< StringRef > LookupSet
This interface provides simple read-only access to a block of memory, and provides simple methods for...
bool checkAllRulesInBuffer(StringRef RulePrefix, MemoryBuffer *MemBuf) const
bool check(StringRef CheckExpr) const
RuntimeDyld invariant checker for verifying that RuntimeDyld has correctly applied relocations.
std::function< bool(StringRef Symbol)> IsSymbolValidFunction
std::function< Expected< MemoryRegionInfo >(StringRef StubContainer, StringRef TargetName, StringRef StubKindFilter)> GetStubInfoFunction
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.
Manages the enabling and disabling of subtarget specific features.
Triple - Helper class for working with autoconf configuration names.
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.
static StringRef getCPU(StringRef CPU)
Processes a CPU name.
uint8_t TargetFlagsType
Holds target-specific properties for a symbol.