llvm-project/llvm/lib/DebugInfo/PDB/Native
Zachary Turner 6c4bfba8f3 [PDB] Teach libpdb to write DBI Stream ECNames.
Based strictly on the name, this seems to have something to do
width edit & continue.  The goal of this patch has nothing to do
with supporting edit and continue though.  msvc link.exe writes
very basic information into this area even when *not* compiling
with support for E&C, and so the goal here is to bring lld-link
to parity.  Since we cannot know what assumptions standard tools
make about the content of PDB files, we need to be as close as
possible.

This ECNames data structure is a standard PDB string hash table.
link.exe puts a single string into this hash table, which is the
full path to the PDB file on disk.  It then references this string
from the module descriptor for the compiler generated `* Linker *`
module.

With this patch, lld-link will generate the exact same sequence of
bytes as MSVC link for this subsection for a given object file
input (as reported by `llvm-pdbutil bytes -ec`).

llvm-svn: 307356
2017-07-07 05:04:36 +00:00
..
DbiModuleDescriptor.cpp [llvm-pdbdump] Abstract some of the YAML/Raw printing code. 2017-04-29 01:13:21 +00:00
DbiModuleDescriptorBuilder.cpp [PDB] Teach libpdb to write DBI Stream ECNames. 2017-07-07 05:04:36 +00:00
DbiModuleList.cpp [CodeView, PDB] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-06-30 23:06:03 +00:00
DbiStream.cpp [PDB] Teach libpdb to write DBI Stream ECNames. 2017-07-07 05:04:36 +00:00
DbiStreamBuilder.cpp [PDB] Teach libpdb to write DBI Stream ECNames. 2017-07-07 05:04:36 +00:00
EnumTables.cpp
GSI.cpp [Support] Move Stream library from MSF -> Support. 2017-03-02 20:52:51 +00:00
GSI.h [Support] Move Stream library from MSF -> Support. 2017-03-02 20:52:51 +00:00
GlobalsStream.cpp [Support] Move Stream library from MSF -> Support. 2017-03-02 20:52:51 +00:00
Hash.cpp [CodeView, PDB] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-06-30 23:06:03 +00:00
HashTable.cpp [CodeView, PDB] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-06-30 23:06:03 +00:00
InfoStream.cpp [llvm-pdbutil] Dump raw bytes of pdb name map. 2017-06-23 20:18:38 +00:00
InfoStreamBuilder.cpp [PDB] Fix use after free. 2017-06-03 00:33:35 +00:00
ModuleDebugStream.cpp [CodeView, PDB] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-06-30 23:06:03 +00:00
NamedStreamMap.cpp [CodeView, PDB] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-06-30 23:06:03 +00:00
NativeCompilandSymbol.cpp Fix build break by using llvm::make_unique instead of std::make_unique. 2017-06-22 18:57:51 +00:00
NativeEnumModules.cpp Introduce symbol cache to PDB NativeSession 2017-06-28 22:47:40 +00:00
NativeExeSymbol.cpp Fix build break by using llvm::make_unique instead of std::make_unique. 2017-06-22 18:57:51 +00:00
NativeRawSymbol.cpp [CodeView, PDB] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-06-30 23:06:03 +00:00
NativeSession.cpp Introduce symbol cache to PDB NativeSession 2017-06-28 22:47:40 +00:00
PDBFile.cpp [llvm-pdbutil] Add a function for formatting MSF data. 2017-06-23 18:52:13 +00:00
PDBFileBuilder.cpp Slightly better fix for dealing with no-id-stream PDBs. 2017-06-12 21:46:51 +00:00
PDBStringTable.cpp Resubmit "[codeview] Make obj2yaml/yaml2obj support .debug$S..." 2017-06-14 15:59:27 +00:00
PDBStringTableBuilder.cpp Resubmit "[codeview] Make obj2yaml/yaml2obj support .debug$S..." 2017-06-14 15:59:27 +00:00
PDBTypeServerHandler.cpp [lld] Fix a bug where we continually re-follow type servers. 2017-05-25 21:16:03 +00:00
PublicsStream.cpp Resubmit "[llvm-pdbutil] rewrite the "raw" output style." 2017-06-15 22:24:24 +00:00
RawError.cpp [pdb] Write the module info and symbol record streams. 2017-03-15 22:18:53 +00:00
SymbolStream.cpp [Support] Move Stream library from MSF -> Support. 2017-03-02 20:52:51 +00:00
TpiHashing.cpp [llvm-pdbutil] Add back the ability to dump hashes and index offsets. 2017-06-15 23:04:42 +00:00
TpiStream.cpp [llvm-pdbutil] Dump raw bytes of type and id records. 2017-06-23 21:50:54 +00:00
TpiStreamBuilder.cpp [PDB] Fix use after free. 2017-06-03 00:33:35 +00:00