<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 - lld-link ignoring /DEBUGTYPE:PDATA,FIXUP"
   href="https://bugs.llvm.org/show_bug.cgi?id=52028">52028</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>lld-link ignoring /DEBUGTYPE:PDATA,FIXUP
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>lld
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>unspecified
          </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>normal
          </td>
        </tr>

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

        <tr>
          <th>Component</th>
          <td>COFF
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>unassignedbugs@nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>julian.dietrich@ubisoft.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvm-bugs@lists.llvm.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Created <span class=""><a href="attachment.cgi?id=25312" name="attach_25312" title="MSVC & LLVM Debug Streams in comparison after passing "/DEBUGTYPE:PDATA"">attachment 25312</a> <a href="attachment.cgi?id=25312&action=edit" title="MSVC & LLVM Debug Streams in comparison after passing "/DEBUGTYPE:PDATA"">[details]</a></span>
MSVC & LLVM Debug Streams in comparison after passing "/DEBUGTYPE:PDATA"

MSVC link.exe has an option called /DEBUGTYPE (see
<a href="https://docs.microsoft.com/en-us/cpp/build/reference/debugtype-debug-info-options?view=msvc-160">https://docs.microsoft.com/en-us/cpp/build/reference/debugtype-debug-info-options?view=msvc-160</a>)
which can embed certain sections from the generated PE file into the PDB.
The data is embedded as a so called "Debug Stream" which is simply a raw copy
of the section in the PE file.
This option makes it possible to unwind callstacks in minidumps without the
need of having the original PE file on disk.
Below you can see a cropped comparison between lld-link and link debug-streams:


lld-link debug streams:

*** DEBUG STREAMS

Stream: SECTIONHEADERS(9)
2E 74 65 78 74 00 00 00 - 86 5A 00 00 00 10 00 00 - 00 5C 00 00 00 04 00 00 -
00 00 00 00 00 00 00 00 - 00 00 00 00 20 00 00 60 |
.text....Z.......\.................. ..`
2E 72 64 61 74 61 00 00 - BC 38 00 00 00 70 00 00 - 00 3A 00 00 00 60 00 00 -
00 00 00 00 00 00 00 00 - 00 00 00 00 40 00 00 40 |
.rdata..╝8...p...:...`..............@..@
2E 64 61 74 61 00 00 00 - 30 07 00 00 00 B0 00 00 - 00 02 00 00 00 9A 00 00 -
00 00 00 00 00 00 00 00 - 00 00 00 00 40 00 00 C0 |
.data...0....░......................@..└
2E 70 64 61 74 61 00 00 - E0 0A 00 00 00 C0 00 00 - 00 0C 00 00 00 9C 00 00 -
00 00 00 00 00 00 00 00 - 00 00 00 00 40 00 00 40 |
.pdata..Ó....└......................@..@
2E 30 30 63 66 67 00 00 - 28 00 00 00 00 D0 00 00 - 00 02 00 00 00 A8 00 00 -
00 00 00 00 00 00 00 00 - 00 00 00 00 40 00 00 40 |
.00cfg..(....ð.......¿..............@..@
2E 67 65 68 63 6F 6E 74 - 08 00 00 00 00 E0 00 00 - 00 02 00 00 00 AA 00 00 -
00 00 00 00 00 00 00 00 - 00 00 00 00 40 00 00 40 |
.gehcont.....Ó.......¬..............@..@
2E 76 6F 6C 74 62 6C 00 - 1B 00 00 00 00 F0 00 00 - 00 02 00 00 00 AC 00 00 -
00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 |
.voltbl......­.......¼..................
2E 72 73 72 63 00 00 00 - A8 01 00 00 00 00 01 00 - 00 02 00 00 00 AE 00 00 -
00 00 00 00 00 00 00 00 - 00 00 00 00 40 00 00 40 |
.rsrc...¿............«..............@..@
2E 72 65 6C 6F 63 00 00 - 68 00 00 00 00 10 01 00 - 00 02 00 00 00 B0 00 00 -
00 00 00 00 00 00 00 00 - 00 00 00 00 40 00 00 42 |
.reloc..h............░..............@..B
Summary :
        No of Elems = 9
        Sizeof(Elem) = 40


link debug streams:

*** DEBUG STREAMS

Stream: XDATA(4304)
01 | .
0D | .
05 | .
05 | .
...
00 | .
00 | .
Summary :
        No of Elems = 4304
        Sizeof(Elem) = 1

Stream: PDATA(3360)
00 | .
10 | .
00 | .
00 | .
1F | .
...
D3 | Ó
00 | .
00 | .
Summary :
        No of Elems = 3360
        Sizeof(Elem) = 1

Stream: SECTIONHEADERS(6)
2E 74 65 78 74 00 00 00 - 75 7E 00 00 00 10 00 00 - 00 80 00 00 00 04 00 00 -
00 00 00 00 00 00 00 00 - 00 00 00 00 20 00 00 60 |
.text...u~.......................... ..`
2E 72 64 61 74 61 00 00 - 22 5A 00 00 00 90 00 00 - 00 5C 00 00 00 84 00 00 -
00 00 00 00 00 00 00 00 - 00 00 00 00 40 00 00 40 |
.rdata.."Z.......\..................@..@
2E 64 61 74 61 00 00 00 - 58 07 00 00 00 F0 00 00 - 00 02 00 00 00 E0 00 00 -
00 00 00 00 00 00 00 00 - 00 00 00 00 40 00 00 C0 |
.data...X....ð.......à..............@..À
2E 70 64 61 74 61 00 00 - 20 0D 00 00 00 00 01 00 - 00 0E 00 00 00 E2 00 00 -
00 00 00 00 00 00 00 00 - 00 00 00 00 40 00 00 40 | .pdata..
............â..............@..@
2E 72 73 72 63 00 00 00 - E0 01 00 00 00 10 01 00 - 00 02 00 00 00 F0 00 00 -
00 00 00 00 00 00 00 00 - 00 00 00 00 40 00 00 40 |
.rsrc...à............ð..............@..@
2E 72 65 6C 6F 63 00 00 - C4 00 00 00 00 20 01 00 - 00 02 00 00 00 F2 00 00 -
00 00 00 00 00 00 00 00 - 00 00 00 00 40 00 00 42 | .reloc..Ä....
.......ò..............@..B
Summary :
        No of Elems = 6
        Sizeof(Elem) = 40


Full output of Dia2Dump has been attached to this report.
The data can be extracted from PDB files by compiling Dia2Dump and callin it
with the following command line: "Dia2Dump -dbg TestProject.pdb > dbg".</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>