<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/54487>54487</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            lld-link fails when multiple pdb files have broken / same GUID.
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            lld,
            lld:COFF,
            platform:windows
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          tru
      </td>
    </tr>
</table>

<pre>
    Using the latest Visual Studio 2022 version it contains some pdb files with broken GUID's. I.e. the GUID's are `FFFF....` as seen by `llvm-pdbutil`

This ticket describes the issue: https://developercommunity.visualstudio.com/t/lots-of-lld-link-warnings-about-pdb-with-vs2022-17/1667797

With lld-link it asserts when building in this environment or throws errors about missing symbols.

Talking with @rnk he suggested that we could fallback to path based indexing if we encounter broken PDB's.

I am happy to do this patch if we feel like it's the right way. The root cause of this issue is obviously Microsoft shipping PDB files with broken GUID's. So the question is if we patch this in LLVM to maintain compatibility with this version of Visual Studio or if we think microsoft won't fix this for a while. Or if we just document this case, or even make a better error message and then let it be since we think that this is a transitional error in MSVC.

Thoughts?
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx9VMtu4zgQ_Br70pDgl-LJQYdsAi8CTDALZCZzpsSWxDFFavmwx3-_RcqeJJcVbD3IZrO6qpqNlZf6h1empzAwaRHYB3pTPgpNryFKZWmz2mzoxM4ra0gFaq0JQhlP3o5Mk2yoU5o9nVUYqHH2yIb-_vH8tNjsfUnPJZc5922IhGNa3K0OuEpceCWBZIxlzSXNaH0aC-SNQWl8LlZPi9XDfP8-KE9BtUcOJNm3TjXYOaVX3kdebB9oCGHyeFlsDvhJPrG2E7vWjmM0KlzKU67O5-JKDCMq4K9t8IXtCq1loZU5FmfhDIjxhWhsDAlQkUosTj4xUqz3WLS-u9vv7_cfIf5MNNySJL6E9-wC-BlShVFpmehWBrBRDJuTctaMbAJZhzFnzxh1zjpQlXamEbWlJf4yNlb78hMhQh_TXCZ_sVs57Ak2fOx7KMkSCUWgM0O1qCV1QutGtEcKliaR9BIeQcpI_p1RdSmWDaJNYHeT85-nv7KaH3d-JjHSIKbpkpJJO5eDpO1wTdMxa9LqCHFCVj7p5FQ_AJC4lPQ9fVoLR4nomWw3p8hK4k62OSkbvb7Qi2qd9bYL5Ac1TQkpIP2v715t3u7fCBqycf0V1Yxw3snQ169vLwn_CEcnV4OnERGqURpemXPn2FsDAOXn9oBoc2KEgfzxD9SzNYASgPL3nKJDqIANgLqkb7dlvyI6Tto2ZgvkwBaiLDaPKTXsawAOHApqOCRNsjdoZO9Fj2GTNEaQRkvAbQ3EV6bld0TZAVdmkSU4YbxKnKCGORfKfnl9e_xsrMFGKIVOOixlvZX323uxDCporv-YuxNKX309Rh3UpD-eB4M48U0XtAp5Mc6nQLmMTtef-7QH0bG5tmM6AK6PYnL2F7epQbMvPF6q3e7LfjnUXVWJpuKKd1-q7n7VrLpWyvWm2u25rbr1eqlFw9rXiwru3QA17onW68f24fHb4fA-NuH0g0QjJs5oCLRhmquelqpODb_abtbr_a6qdqXcyarhu2ol5XbHbYu-YxhIlwlxaV2_dHUG38TeY1IrH_z7JA4E1RvmDAz5RQyDdXVwcZlrrHOB_wGRZ-ZJ">