[PATCH] D44405: [DIA] Add support for dumping injected sources
Zachary Turner via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Mar 12 17:07:50 PDT 2018
zturner created this revision.
zturner added reviewers: asmith, stella.stamenova, amccarth.
Herald added subscribers: JDevlieghere, hiraditya, aprantl, mgorny.
Injected sources are basically a way to add actual source file content to your PDB. Presumably you could use this for shipping your source code with your debug information, but in practice I can only find this being used for embedding natvis files inside of PDBs.
In order to effectively test LLVM's natvis file injection, we need a way to dump the injected sources of a PDB in a way that is authoritative (i.e. based on Microsoft's understanding of the PDB format, and not LLVM's). To this end, I've added support for dumping injected sources via DIA. I made a PDB file that used the /natvis option to generate a test case.
https://reviews.llvm.org/D44405
Files:
llvm/include/llvm/DebugInfo/PDB/DIA/DIAEnumInjectedSources.h
llvm/include/llvm/DebugInfo/PDB/DIA/DIAInjectedSource.h
llvm/include/llvm/DebugInfo/PDB/DIA/DIASession.h
llvm/include/llvm/DebugInfo/PDB/DIA/DIAUtils.h
llvm/include/llvm/DebugInfo/PDB/IPDBInjectedSource.h
llvm/include/llvm/DebugInfo/PDB/IPDBSession.h
llvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h
llvm/include/llvm/DebugInfo/PDB/PDBExtras.h
llvm/include/llvm/DebugInfo/PDB/PDBTypes.h
llvm/lib/DebugInfo/PDB/CMakeLists.txt
llvm/lib/DebugInfo/PDB/DIA/DIAEnumInjectedSources.cpp
llvm/lib/DebugInfo/PDB/DIA/DIAInjectedSource.cpp
llvm/lib/DebugInfo/PDB/DIA/DIASession.cpp
llvm/lib/DebugInfo/PDB/Native/NativeSession.cpp
llvm/lib/DebugInfo/PDB/PDBExtras.cpp
llvm/lib/DebugInfo/PDB/PDBInterfaceAnchors.cpp
llvm/test/tools/llvm-pdbdump/Inputs/InjectedSource.pdb
llvm/test/tools/llvm-pdbdump/injected-sources.test
llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D44405.138110.patch
Type: text/x-patch
Size: 22930 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180313/e77a566b/attachment.bin>
More information about the llvm-commits
mailing list