[PATCH] D41734: [DebugInfo][PDB] Fix too many FPM blocks being written in some cases

Zachary Turner via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 4 13:37:40 PST 2018


zturner added a comment.

Just to confirm, does your call stack look something like:

  WritableMappedBlockStream::createFpmStream  (PDBFileBuilder.cpp:151)
  PDBFileBuilder::commitFpm
  PDBFileBuilder::commit
  PDBLinker::commit

?  I'm still thinking about where the right place to add this check is.  I think we shouldn't allow an invalid number of blocks to even make it into the `MSFLayout` struct.  So I'm thinking that it's probably best to add lots of asserts in the various functions that examine `MSFLayout` instances, and then have one place that only creates "correct" `MSFLayout` instances.  At the same time though, it doesn't make a lot of sense to have the last block in the entire file be an FPM block.  So maybe we can actually *delete* it rather than add another one.


Repository:
  rL LLVM

https://reviews.llvm.org/D41734





More information about the llvm-commits mailing list