If my math is correct, you would need at least a 4GiB pdb before you would need a second directory block.<br><br>It seems reasonable to have the documentation mention just the one field for now until I have a chance to research this some more and possibly implement large pdb support in llvm<br><div class="gmail_quote"><div dir="ltr">On Tue, Nov 8, 2016 at 9:00 AM David Majnemer <<a href="mailto:david.majnemer@gmail.com">david.majnemer@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">majnemer added inline comments.<br class="gmail_msg">
<br class="gmail_msg">
<br class="gmail_msg">
================<br class="gmail_msg">
Comment at: docs/PDB/MsfFile.rst:24<br class="gmail_msg">
+    ulittle32_t Unknown;<br class="gmail_msg">
+    ulittle32_t BlockMapAddr;<br class="gmail_msg">
+  };<br class="gmail_msg">
----------------<br class="gmail_msg">
zturner wrote:<br class="gmail_msg">
> majnemer wrote:<br class="gmail_msg">
> > Looking at the microsoft-pdb sources, isn't this technically an array of addresses?<br class="gmail_msg">
> > <a href="https://github.com/Microsoft/microsoft-pdb/blob/master/PDB/msf/msf.cpp#L954" rel="noreferrer" class="gmail_msg" target="_blank">https://github.com/Microsoft/microsoft-pdb/blob/master/PDB/msf/msf.cpp#L954</a><br class="gmail_msg">
> It's more like a pointer to an array.  It's a single uint32 which is the index of a block, and at that block is an array.<br class="gmail_msg">
My reading of the PDB sources makes me thing that its an array of pointers to arrays. I don't think we ever encountered this in the wild because our PDBs were not large enough.<br class="gmail_msg">
<br class="gmail_msg">
<br class="gmail_msg">
<a href="https://reviews.llvm.org/D26374" rel="noreferrer" class="gmail_msg" target="_blank">https://reviews.llvm.org/D26374</a><br class="gmail_msg">
<br class="gmail_msg">
<br class="gmail_msg">
<br class="gmail_msg">
</blockquote></div>