[PATCH] D23047: pdbdump: Do not treat stream 0 pages as allocated pages.

Rui Ueyama via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 2 16:15:48 PDT 2016


ruiu updated this revision to Diff 66587.
ruiu added a comment.

- Updated as per Zach's comment.


https://reviews.llvm.org/D23047

Files:
  tools/llvm-pdbdump/LLVMOutputStyle.cpp

Index: tools/llvm-pdbdump/LLVMOutputStyle.cpp
===================================================================
--- tools/llvm-pdbdump/LLVMOutputStyle.cpp
+++ tools/llvm-pdbdump/LLVMOutputStyle.cpp
@@ -303,14 +303,16 @@
 
   recordKnownUsedPage(PS, File.getBlockMapIndex()); // Stream Table
 
-  for (auto DB : File.getDirectoryBlockArray()) {
+  for (auto DB : File.getDirectoryBlockArray())
     recordKnownUsedPage(PS, DB);
-  }
-  for (auto &SE : File.getStreamMap()) {
-    for (auto &S : SE) {
+
+  // Record pages used by streams. Note that pages for stream 0
+  // are considered being unused because that's what MSVC tools do.
+  // Stream 0 doesn't contain actual data, so it makes some sense,
+  // though it's a bit confusing to us.
+  for (auto &SE : File.getStreamMap().drop_front(1))
+    for (auto &S : SE)
       recordKnownUsedPage(PS, S);
-    }
-  }
 
   dumpBitVector("Msf Free Pages", FPM);
   dumpBitVector("Orphaned Pages", PS.OrphanedPages);


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D23047.66587.patch
Type: text/x-patch
Size: 969 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160802/390179a1/attachment.bin>


More information about the llvm-commits mailing list