llvm-project/llvm/tools/llvm-pdbdump
Zachary Turner faa554b2fd [pdb] Use MsfBuilder to handle the writing PDBs.
Previously we would read a PDB, then write some of it back out,
but write the directory, super block, and other pertinent metadata
back out unchanged.  This generates incorrect PDBs since the amount
of data written was not always the same as the amount of data read.

This patch changes things to use the newly introduced `MsfBuilder`
class to write out a correct and accurate set of Msf metadata for
the data *actually* written, which opens up the door for adding and
removing type records, symbol records, and other types of data to
an existing PDB.

llvm-svn: 275627
2016-07-15 22:16:56 +00:00
..
fuzzer Make PDBFile take a StreamInterface instead of a MemBuffer. 2016-06-10 05:10:19 +00:00
BuiltinDumper.cpp Move pdb code into pdb namespace. 2016-05-04 20:32:13 +00:00
BuiltinDumper.h Move pdb code into pdb namespace. 2016-05-04 20:32:13 +00:00
CMakeLists.txt [llvm-pdbdump] Dump MSF headers to YAML. 2016-06-06 20:37:05 +00:00
ClassDefinitionDumper.cpp Update llvm-pdbdump to use subcommands. 2016-06-30 17:42:48 +00:00
ClassDefinitionDumper.h Move pdb code into pdb namespace. 2016-05-04 20:32:13 +00:00
CompilandDumper.cpp [codeview] Add support for new type records. 2016-05-24 22:58:46 +00:00
CompilandDumper.h Move pdb code into pdb namespace. 2016-05-04 20:32:13 +00:00
EnumDumper.cpp Update llvm-pdbdump to use subcommands. 2016-06-30 17:42:48 +00:00
EnumDumper.h Move pdb code into pdb namespace. 2016-05-04 20:32:13 +00:00
ExternalSymbolDumper.cpp Move pdb code into pdb namespace. 2016-05-04 20:32:13 +00:00
ExternalSymbolDumper.h Move pdb code into pdb namespace. 2016-05-04 20:32:13 +00:00
FunctionDumper.cpp Move pdb code into pdb namespace. 2016-05-04 20:32:13 +00:00
FunctionDumper.h Move pdb code into pdb namespace. 2016-05-04 20:32:13 +00:00
LLVMBuild.txt
LLVMOutputStyle.cpp [pdb] Use MsfBuilder to handle the writing PDBs. 2016-07-15 22:16:56 +00:00
LLVMOutputStyle.h Update llvm-pdbdump to use subcommands. 2016-06-30 17:42:48 +00:00
LinePrinter.cpp Update llvm-pdbdump to use subcommands. 2016-06-30 17:42:48 +00:00
LinePrinter.h Move pdb code into pdb namespace. 2016-05-04 20:32:13 +00:00
OutputStyle.h Update llvm-pdbdump to use subcommands. 2016-06-30 17:42:48 +00:00
PdbYaml.cpp [pdb] Use MsfBuilder to handle the writing PDBs. 2016-07-15 22:16:56 +00:00
PdbYaml.h [pdb] Use MsfBuilder to handle the writing PDBs. 2016-07-15 22:16:56 +00:00
TypeDumper.cpp Update llvm-pdbdump to use subcommands. 2016-06-30 17:42:48 +00:00
TypeDumper.h Move pdb code into pdb namespace. 2016-05-04 20:32:13 +00:00
TypedefDumper.cpp Move pdb code into pdb namespace. 2016-05-04 20:32:13 +00:00
TypedefDumper.h Move pdb code into pdb namespace. 2016-05-04 20:32:13 +00:00
VariableDumper.cpp Update llvm-pdbdump to use subcommands. 2016-06-30 17:42:48 +00:00
VariableDumper.h Move pdb code into pdb namespace. 2016-05-04 20:32:13 +00:00
YAMLOutputStyle.cpp [pdb] Use MsfBuilder to handle the writing PDBs. 2016-07-15 22:16:56 +00:00
YAMLOutputStyle.h Refactor the PDB writing to use a builder approach 2016-07-11 21:45:26 +00:00
llvm-pdbdump.cpp [pdb] Use MsfBuilder to handle the writing PDBs. 2016-07-15 22:16:56 +00:00
llvm-pdbdump.h Refactor the PDB writing to use a builder approach 2016-07-11 21:45:26 +00:00