summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-pdbutil/DumpOutputStyle.h
diff options
context:
space:
mode:
authorZachary Turner <zturner@google.com>2018-03-19 19:53:51 +0000
committerZachary Turner <zturner@google.com>2018-03-19 19:53:51 +0000
commitde53aaf13249dcbd6f3d4fd3b28898c77fa074c8 (patch)
tree3b8061c1756ea52e9ff102b682e4e5615c6300c2 /llvm/tools/llvm-pdbutil/DumpOutputStyle.h
parenta2036e4945666aaf4579821121f4566dea7dd29d (diff)
downloadbcm5719-llvm-de53aaf13249dcbd6f3d4fd3b28898c77fa074c8.tar.gz
bcm5719-llvm-de53aaf13249dcbd6f3d4fd3b28898c77fa074c8.zip
Support embedding natvis files in PDBs.
Natvis is a debug language supported by Visual Studio for specifying custom visualizers. The /NATVIS option is an undocumented link.exe flag which will take a .natvis file and "inject" it into the PDB. This way, you can ship the debug visualizers for a program along with the PDB, which is very useful for postmortem debugging. This is implemented by adding a new "named stream" to the PDB with a special name of /src/files/<natvis file name> and simply copying the contents of the xml into this file. Additionally, we need to emit a single stream named /src/headerblock which contains a hash table of embedded files to records describing them. This patch adds this functionality, including the /NATVIS option to lld-link. Differential Revision: https://reviews.llvm.org/D44328 llvm-svn: 327895
Diffstat (limited to 'llvm/tools/llvm-pdbutil/DumpOutputStyle.h')
-rw-r--r--llvm/tools/llvm-pdbutil/DumpOutputStyle.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/tools/llvm-pdbutil/DumpOutputStyle.h b/llvm/tools/llvm-pdbutil/DumpOutputStyle.h
index fad304c470c..36d8b13bde0 100644
--- a/llvm/tools/llvm-pdbutil/DumpOutputStyle.h
+++ b/llvm/tools/llvm-pdbutil/DumpOutputStyle.h
@@ -74,6 +74,7 @@ private:
Error dumpStreamSummary();
Error dumpSymbolStats();
Error dumpUdtStats();
+ Error dumpNamedStreams();
Error dumpStringTable();
Error dumpStringTableFromPdb();
Error dumpStringTableFromObj();
OpenPOWER on IntegriCloud