]> granicus.if.org Git - llvm/commit
[pdb/lld] Write a valid FPM.
authorZachary Turner <zturner@google.com>
Wed, 2 Aug 2017 22:31:39 +0000 (22:31 +0000)
committerZachary Turner <zturner@google.com>
Wed, 2 Aug 2017 22:31:39 +0000 (22:31 +0000)
commit50b0dc9e5b9d9a92b283cc6567283d1c02cf594f
tree7e3528db7bf678a145b7c0ed66275408d36241d6
parent11625a0d5e453634906a566ab2100f02295d7638
[pdb/lld] Write a valid FPM.

The PDB reserves certain blocks for the FPM that describe which
blocks in the file are allocated and which are free.  We weren't
filling that out at all, and in some cases we were even stomping
it with incorrect data.  This patch writes a correct FPM.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@309896 91177308-0d34-0410-b5e6-96231b3b80d8
14 files changed:
include/llvm/DebugInfo/MSF/MSFCommon.h
include/llvm/DebugInfo/MSF/MappedBlockStream.h
include/llvm/DebugInfo/PDB/Native/PDBFileBuilder.h
include/llvm/Support/MathExtras.h
lib/DebugInfo/MSF/MSFBuilder.cpp
lib/DebugInfo/MSF/MSFCommon.cpp
lib/DebugInfo/MSF/MappedBlockStream.cpp
lib/DebugInfo/PDB/Native/PDBFile.cpp
lib/DebugInfo/PDB/Native/PDBFileBuilder.cpp
test/DebugInfo/PDB/write-fpm.test [new file with mode: 0644]
unittests/DebugInfo/MSF/CMakeLists.txt
unittests/DebugInfo/MSF/MSFBuilderTest.cpp
unittests/DebugInfo/MSF/MSFCommonTest.cpp [new file with mode: 0644]
unittests/DebugInfo/MSF/MappedBlockStreamTest.cpp