[pdbutil] Add a command to dump the FPM.
authorZachary Turner <zturner@google.com>
Wed, 2 Aug 2017 22:25:52 +0000 (22:25 +0000)
committerZachary Turner <zturner@google.com>
Wed, 2 Aug 2017 22:25:52 +0000 (22:25 +0000)
commitc3d8eec9e9a96be8ab87dea895f5ee452347192d
tree5615cbaef219918c97504e38e9680b7f1a807127
parenta2f57be26073562b40e8ea2bd76aa4f1d3142f61
[pdbutil] Add a command to dump the FPM.

Recently problems have been discovered in the way we write the FPM
(free page map).  In order to fix this, we first need to establish
a baseline about what a correct FPM looks like using an MSVC
generated PDB, so that we can then make our own generated PDBs
match.  And in order to do this, the dumper needs a mode where it
can dump an FPM so that we can write tests for it.

This patch adds a command to dump the FPM, as well as a test against
a known-good PDB.

llvm-svn: 309894
15 files changed:
llvm/include/llvm/DebugInfo/MSF/MSFCommon.h
llvm/include/llvm/DebugInfo/MSF/MSFStreamLayout.h [deleted file]
llvm/include/llvm/DebugInfo/MSF/MappedBlockStream.h
llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h
llvm/lib/DebugInfo/MSF/MSFCommon.cpp
llvm/lib/DebugInfo/MSF/MappedBlockStream.cpp
llvm/lib/DebugInfo/PDB/Native/PDBFile.cpp
llvm/test/DebugInfo/PDB/dump-fpm.test [new file with mode: 0644]
llvm/tools/llvm-pdbutil/BytesOutputStyle.cpp
llvm/tools/llvm-pdbutil/BytesOutputStyle.h
llvm/tools/llvm-pdbutil/LinePrinter.cpp
llvm/tools/llvm-pdbutil/LinePrinter.h
llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
llvm/tools/llvm-pdbutil/llvm-pdbutil.h
llvm/unittests/DebugInfo/PDB/MappedBlockStreamTest.cpp