10 #ifndef LLVM_LIB_EXECUTIONENGINE_RUNTIMEDYLD_RUNTIMEDYLDCHECKERIMPL_H
11 #define LLVM_LIB_EXECUTIONENGINE_RUNTIMEDYLD_RUNTIMEDYLDCHECKERIMPL_H
34 typedef std::map<std::string, uint64_t> StubOffsetsMap;
35 struct SectionAddressInfo {
37 StubOffsetsMap StubOffsets;
39 typedef std::map<std::string, SectionAddressInfo> SectionMap;
40 typedef std::map<std::string, SectionMap> StubMap;
47 uint64_t readMemoryAtAddr(uint64_t Addr,
unsigned Size)
const;
49 std::pair<const SectionAddressInfo*, std::string> findSectionAddrInfo(
53 std::pair<uint64_t, std::string> getSectionAddr(
StringRef FileName,
55 bool IsInsideLoad)
const;
57 std::pair<uint64_t, std::string> getStubAddrFor(
StringRef FileName,
60 bool IsInsideLoad)
const;
63 void registerSection(
StringRef FilePath,
unsigned SectionID);
64 void registerStubMap(
StringRef FilePath,
unsigned SectionID,
RuntimeDyldCheckerImpl(RuntimeDyld &RTDyld, MCDisassembler *Disassembler, MCInstPrinter *InstPrinter, llvm::raw_ostream &ErrStream)
Superclass for all disassemblers.
std::map< RelocationValueRef, uintptr_t > StubMap
RuntimeDyld invariant checker for verifying that RuntimeDyld has correctly applied relocations...
bool check(StringRef CheckExpr) const
This interface provides simple read-only access to a block of memory, and provides simple methods for...
This is an instance of a target assembly language printer that converts an MCInst to valid target ass...
bool checkAllRulesInBuffer(StringRef RulePrefix, MemoryBuffer *MemBuf) const
This class implements an extremely fast bulk output stream that can only output to a stream...
StringRef - Represent a constant reference to a string, i.e.