[PDB] Write public symbol records and the publics hash table
authorReid Kleckner <rnk@google.com>
Thu, 27 Jul 2017 18:25:59 +0000 (18:25 +0000)
committerReid Kleckner <rnk@google.com>
Thu, 27 Jul 2017 18:25:59 +0000 (18:25 +0000)
commiteacdf04fdda7c6156b4e063cfce28f643493f76e
tree9cb8acc5960748191701aeeaa8bdc391a36756c5
parentac84850ea620df7f799c38f5a4f2c788eabbea78
[PDB] Write public symbol records and the publics hash table

Summary:
MSVC link.exe records all external symbol names in the publics stream.
It provides similar functionality to an ELF .symtab.

Reviewers: zturner, ruiu

Subscribers: hiraditya, llvm-commits

Differential Revision: https://reviews.llvm.org/D35871

llvm-svn: 309303
13 files changed:
lld/COFF/PDB.cpp
lld/COFF/SymbolTable.h
lld/COFF/Symbols.cpp
lld/COFF/Symbols.h
lld/COFF/Writer.cpp
lld/test/COFF/pdb-import-gc.yaml
lld/test/COFF/pdb-publics-import.test [new file with mode: 0644]
lld/test/COFF/pdb.test
llvm/include/llvm/DebugInfo/CodeView/SymbolRecord.h
llvm/include/llvm/DebugInfo/PDB/Native/PublicsStreamBuilder.h
llvm/lib/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.cpp
llvm/lib/DebugInfo/PDB/Native/PDBFileBuilder.cpp
llvm/lib/DebugInfo/PDB/Native/PublicsStreamBuilder.cpp