summaryrefslogtreecommitdiffstats
path: root/llvm/lib/DebugInfo/PDB/PDB.cpp
diff options
context:
space:
mode:
authorZachary Turner <zturner@google.com>2015-04-17 22:40:36 +0000
committerZachary Turner <zturner@google.com>2015-04-17 22:40:36 +0000
commit4b08354b0ebb5551048138148f61911bc1232491 (patch)
tree5f268cad63b67dcd46c702b1f9f51c31ec39e696 /llvm/lib/DebugInfo/PDB/PDB.cpp
parentd0a2482870218dce13c629f5acce96d8dafffcfd (diff)
downloadbcm5719-llvm-4b08354b0ebb5551048138148f61911bc1232491.tar.gz
bcm5719-llvm-4b08354b0ebb5551048138148f61911bc1232491.zip
[PDB] Support executables and source/line info.
Previously DebugInfoPDB could only load data for a PDB given a path to the PDB. It could not open an EXE and find the matching PDB and verify it matched, etc. This patch adds support for that so that we can simply load debug information for a PDB directly. Additionally, this patch extends DebugInfoPDB to support getting source and line information for symbols. llvm-svn: 235237
Diffstat (limited to 'llvm/lib/DebugInfo/PDB/PDB.cpp')
-rw-r--r--llvm/lib/DebugInfo/PDB/PDB.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/llvm/lib/DebugInfo/PDB/PDB.cpp b/llvm/lib/DebugInfo/PDB/PDB.cpp
index a07396d1a17..13201bbaa64 100644
--- a/llvm/lib/DebugInfo/PDB/PDB.cpp
+++ b/llvm/lib/DebugInfo/PDB/PDB.cpp
@@ -20,11 +20,20 @@
using namespace llvm;
-PDB_ErrorCode llvm::createPDBReader(PDB_ReaderType Type, StringRef Path,
- std::unique_ptr<IPDBSession> &Session) {
+PDB_ErrorCode llvm::loadDataForPDB(PDB_ReaderType Type, StringRef Path,
+ std::unique_ptr<IPDBSession> &Session) {
// Create the correct concrete instance type based on the value of Type.
#if HAVE_DIA_SDK
return DIASession::createFromPdb(Path, Session);
#endif
return PDB_ErrorCode::NoPdbImpl;
}
+
+PDB_ErrorCode llvm::loadDataForEXE(PDB_ReaderType Type, StringRef Path,
+ std::unique_ptr<IPDBSession> &Session) {
+// Create the correct concrete instance type based on the value of Type.
+#if HAVE_DIA_SDK
+ return DIASession::createFromExe(Path, Session);
+#endif
+ return PDB_ErrorCode::NoPdbImpl;
+}
OpenPOWER on IntegriCloud