<html>
    <head>
      <base href="http://llvm.org/bugs/" />
    </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 --- - Win64 binaries are undebuggable due to lack of pdata and xdata unwind info"
   href="http://llvm.org/bugs/show_bug.cgi?id=19667">19667</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Win64 binaries are undebuggable due to lack of pdata and xdata unwind info
          </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>normal
          </td>
        </tr>

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

        <tr>
          <th>Component</th>
          <td>Backend: X86
          </td>
        </tr>

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

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

        <tr>
          <th>CC</th>
          <td>llvmbugs@cs.uiuc.edu
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr></table>
      <p>
        <div>
        <pre>windbg, the debugger I usually use, appears to ignore frame pointers when
unwinding for x64.  Instead, it relies on the unwind tables in pdata and xdata.
 When I compile a binary with clang, those aren't present, and I get
nonsensical backtraces.

LLVM has some baseline support for Mingw64-style exceptions, where DWARF
exceptions are layered on top of Win64 exception handling and unwind info, but
we should be emitting win64 unwind info regardless of how we're going to
implement exceptions.  Clang should probably be putting uwtable on its
functions, and we should feed that into MC, similar to what we do on
x86_64-linux.</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>