[PATCH] D29973: [PDB] Support following Type server records

Zachary Turner via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 14 16:25:05 PST 2017


zturner created this revision.
Herald added a subscriber: mgorny.

  [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, and update LLD to do so when it merges.


https://reviews.llvm.org/D29973

Files:
  lld/COFF/PDB.cpp
  llvm/include/llvm/DebugInfo/CodeView/CVTypeDumper.h
  llvm/include/llvm/DebugInfo/CodeView/CVTypeVisitor.h
  llvm/include/llvm/DebugInfo/CodeView/CodeViewError.h
  llvm/include/llvm/DebugInfo/CodeView/TypeRecord.h
  llvm/include/llvm/DebugInfo/CodeView/TypeServerHandler.h
  llvm/include/llvm/DebugInfo/CodeView/TypeStreamMerger.h
  llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h
  llvm/include/llvm/DebugInfo/PDB/Native/PDBTypeServerHandler.h
  llvm/include/llvm/DebugInfo/PDB/Native/TpiStream.h
  llvm/lib/DebugInfo/CodeView/CVTypeDumper.cpp
  llvm/lib/DebugInfo/CodeView/CVTypeVisitor.cpp
  llvm/lib/DebugInfo/CodeView/CodeViewError.cpp
  llvm/lib/DebugInfo/CodeView/TypeStreamMerger.cpp
  llvm/lib/DebugInfo/PDB/CMakeLists.txt
  llvm/lib/DebugInfo/PDB/Native/NativeSession.cpp
  llvm/lib/DebugInfo/PDB/Native/PDBFile.cpp
  llvm/lib/DebugInfo/PDB/Native/PDBTypeServerHandler.cpp
  llvm/lib/DebugInfo/PDB/Native/TpiStream.cpp
  llvm/tools/llvm-readobj/CMakeLists.txt
  llvm/tools/llvm-readobj/COFFDumper.cpp
  llvm/tools/llvm-readobj/LLVMBuild.txt
  llvm/unittests/DebugInfo/PDB/CMakeLists.txt
  llvm/unittests/DebugInfo/PDB/TypeServerHandlerTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D29973.88466.patch
Type: text/x-patch
Size: 31809 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170215/60f2431e/attachment.bin>


More information about the llvm-commits mailing list