<html>
    <head>
      <base href="https://bugs.llvm.org/">
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Add a mode to llvm-pdbutil that allows re-ordering streams"
   href="https://bugs.llvm.org/show_bug.cgi?id=37991">37991</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Add a mode to llvm-pdbutil that allows re-ordering streams
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>libraries
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>trunk
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Windows NT
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>enhancement
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>DebugInfo
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>zturner@google.com
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>zturner@google.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvm-bugs@lists.llvm.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>When investigating differences in MS PDBs vs LLD PDBs, we may emit the exact
same streams but we may not necessarily emit them in the same order as
Microsoft does.  This makes it harder to wade through important differences
between two files.  It would be nice if llvm-pdbutil had a subcommand that
could a target PDB "match" a source PDB.  

It would first check that both files have the same number of streams and that
there is a 1-to-1 mapping between the meanings of the streams.  If this failed,
it would error out.  Once that succeeded, it would re-order the streams of the
target PDB so that they are in the same order as the source PDB.  

This would involve fixing up cross-references to streams.  For example, if the
global symbol hash stream is 7 in the target PDB and 8 in the source PDB, it
would need to update the stream directory to indicate that it's now 8, but it
would also need to udpate the DBI stream field that says that the symbol record
stream is at 7.  Similarly, named streams would need to have the named stream
map updated, module info streams would need to update the DBI Module
descriptors, etc.</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>