diff options
author | Zachary Turner <zturner@google.com> | 2018-03-19 19:53:51 +0000 |
---|---|---|
committer | Zachary Turner <zturner@google.com> | 2018-03-19 19:53:51 +0000 |
commit | de53aaf13249dcbd6f3d4fd3b28898c77fa074c8 (patch) | |
tree | 3b8061c1756ea52e9ff102b682e4e5615c6300c2 /llvm/lib/Object/ModuleSymbolTable.cpp | |
parent | a2036e4945666aaf4579821121f4566dea7dd29d (diff) | |
download | llvm-de53aaf13249dcbd6f3d4fd3b28898c77fa074c8.zip llvm-de53aaf13249dcbd6f3d4fd3b28898c77fa074c8.tar.gz llvm-de53aaf13249dcbd6f3d4fd3b28898c77fa074c8.tar.bz2 |
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/lib/Object/ModuleSymbolTable.cpp')
0 files changed, 0 insertions, 0 deletions