diff options
Diffstat (limited to 'llvm/include')
| -rw-r--r-- | llvm/include/llvm/DebugInfo/PDB/DIA/DIASession.h | 9 | ||||
| -rw-r--r-- | llvm/include/llvm/DebugInfo/PDB/IPDBSession.h | 9 | ||||
| -rw-r--r-- | llvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h | 9 |
3 files changed, 21 insertions, 6 deletions
diff --git a/llvm/include/llvm/DebugInfo/PDB/DIA/DIASession.h b/llvm/include/llvm/DebugInfo/PDB/DIA/DIASession.h index a6c0a2b1956..517acf93c21 100644 --- a/llvm/include/llvm/DebugInfo/PDB/DIA/DIASession.h +++ b/llvm/include/llvm/DebugInfo/PDB/DIA/DIASession.h @@ -34,6 +34,11 @@ public: std::unique_ptr<PDBSymbolExe> getGlobalScope() override; std::unique_ptr<PDBSymbol> getSymbolById(uint32_t SymbolId) const override; + bool addressForVA(uint64_t VA, uint32_t &Section, + uint32_t &Offset) const override; + bool addressForRVA(uint32_t RVA, uint32_t &Section, + uint32_t &Offset) const override; + std::unique_ptr<PDBSymbol> findSymbolByAddress(uint64_t Address, PDB_SymType Type) const override; @@ -76,6 +81,6 @@ public: private: CComPtr<IDiaSession> Session; }; -} -} +} // namespace pdb +} // namespace llvm #endif diff --git a/llvm/include/llvm/DebugInfo/PDB/IPDBSession.h b/llvm/include/llvm/DebugInfo/PDB/IPDBSession.h index 01a017ebe98..55fa67e3c58 100644 --- a/llvm/include/llvm/DebugInfo/PDB/IPDBSession.h +++ b/llvm/include/llvm/DebugInfo/PDB/IPDBSession.h @@ -32,6 +32,11 @@ public: virtual std::unique_ptr<PDBSymbolExe> getGlobalScope() = 0; virtual std::unique_ptr<PDBSymbol> getSymbolById(uint32_t SymbolId) const = 0; + virtual bool addressForVA(uint64_t VA, uint32_t &Section, + uint32_t &Offset) const = 0; + virtual bool addressForRVA(uint32_t RVA, uint32_t &Section, + uint32_t &Offset) const = 0; + template <typename T> std::unique_ptr<T> getConcreteSymbolById(uint32_t SymbolId) const { return unique_dyn_cast_or_null<T>(getSymbolById(SymbolId)); @@ -79,7 +84,7 @@ public: virtual std::unique_ptr<IPDBEnumSectionContribs> getSectionContribs() const = 0; }; -} -} +} // namespace pdb +} // namespace llvm #endif diff --git a/llvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h b/llvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h index 91ca05a1644..39d5da40723 100644 --- a/llvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h +++ b/llvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h @@ -53,6 +53,11 @@ public: std::unique_ptr<PDBSymbolExe> getGlobalScope() override; std::unique_ptr<PDBSymbol> getSymbolById(uint32_t SymbolId) const override; + bool addressForVA(uint64_t VA, uint32_t &Section, + uint32_t &Offset) const override; + bool addressForRVA(uint32_t RVA, uint32_t &Section, + uint32_t &Offset) const override; + std::unique_ptr<PDBSymbol> findSymbolByAddress(uint64_t Address, PDB_SymType Type) const override; @@ -101,7 +106,7 @@ private: std::vector<std::unique_ptr<NativeRawSymbol>> SymbolCache; DenseMap<codeview::TypeIndex, SymIndexId> TypeIndexToSymbolId; }; -} -} +} // namespace pdb +} // namespace llvm #endif |

