diff options
author | Zachary Turner <zturner@google.com> | 2017-02-16 23:35:45 +0000 |
---|---|---|
committer | Zachary Turner <zturner@google.com> | 2017-02-16 23:35:45 +0000 |
commit | 7b327d051b12f90e4650a8ac48cd3f7b3ee1c4e9 (patch) | |
tree | 8bf152120db1248d4f0a38028cda19909986f907 /llvm/tools/llvm-readobj | |
parent | 55aaa844cb12923529c9ff128be22cdaddcce9dd (diff) | |
download | bcm5719-llvm-7b327d051b12f90e4650a8ac48cd3f7b3ee1c4e9.tar.gz bcm5719-llvm-7b327d051b12f90e4650a8ac48cd3f7b3ee1c4e9.zip |
[pdb] Add the ability to resolve TypeServer PDBs.
Some PDBs or object files can contain references to other PDBs
where the real type information lives. When this happens,
all type indices in the original PDB are meaningless because
their records are not there.
With this patch we add the ability to pull type info from those
secondary PDBs.
Differential Revision: https://reviews.llvm.org/D29973
llvm-svn: 295382
Diffstat (limited to 'llvm/tools/llvm-readobj')
-rw-r--r-- | llvm/tools/llvm-readobj/CMakeLists.txt | 1 | ||||
-rw-r--r-- | llvm/tools/llvm-readobj/COFFDumper.cpp | 3 | ||||
-rw-r--r-- | llvm/tools/llvm-readobj/LLVMBuild.txt | 2 |
3 files changed, 4 insertions, 2 deletions
diff --git a/llvm/tools/llvm-readobj/CMakeLists.txt b/llvm/tools/llvm-readobj/CMakeLists.txt index 5fd45a8cff6..0ad149538f6 100644 --- a/llvm/tools/llvm-readobj/CMakeLists.txt +++ b/llvm/tools/llvm-readobj/CMakeLists.txt @@ -4,6 +4,7 @@ set(LLVM_LINK_COMPONENTS Support DebugInfoCodeView DebugInfoMSF + DebugInfoPDB ) add_llvm_tool(llvm-readobj diff --git a/llvm/tools/llvm-readobj/COFFDumper.cpp b/llvm/tools/llvm-readobj/COFFDumper.cpp index 3d4ebc8a735..a0274c0ad95 100644 --- a/llvm/tools/llvm-readobj/COFFDumper.cpp +++ b/llvm/tools/llvm-readobj/COFFDumper.cpp @@ -43,6 +43,7 @@ #include "llvm/Support/Compiler.h" #include "llvm/Support/DataExtractor.h" #include "llvm/Support/Format.h" +#include "llvm/Support/Path.h" #include "llvm/Support/ScopedPrinter.h" #include "llvm/Support/SourceMgr.h" #include "llvm/Support/Win64EH.h" @@ -1086,7 +1087,7 @@ void COFFDumper::mergeCodeViewTypes(TypeTableBuilder &CVTypes) { error(object_error::parse_failed); } - if (auto EC = mergeTypeStreams(CVTypes, Types)) { + if (auto EC = mergeTypeStreams(CVTypes, nullptr, Types)) { consumeError(std::move(EC)); return error(object_error::parse_failed); } diff --git a/llvm/tools/llvm-readobj/LLVMBuild.txt b/llvm/tools/llvm-readobj/LLVMBuild.txt index 76dd436e21d..c0ed38e18d0 100644 --- a/llvm/tools/llvm-readobj/LLVMBuild.txt +++ b/llvm/tools/llvm-readobj/LLVMBuild.txt @@ -19,4 +19,4 @@ type = Tool name = llvm-readobj parent = Tools -required_libraries = all-targets BitReader Object DebugInfoCodeView DebugInfoMSF +required_libraries = all-targets BitReader Object DebugInfoCodeView DebugInfoPDB DebugInfoMSF |