<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 - use RtlRestoreContext which is forbidden in winstore builds"
   href="https://bugs.llvm.org/show_bug.cgi?id=45713">45713</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>use RtlRestoreContext which is forbidden in winstore builds
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>Runtime 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>libunwind
          </td>
        </tr>

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

        <tr>
          <th>Reporter</th>
          <td>robux4@ycbcr.xyz
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvm-bugs@lists.llvm.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>The current template AbstractUnwindCursor on Windows seems to create a context
along the way and when jumpto() is called, RtlRestoreContext is called.

This call is not allowed in some UCRT/UWP context. Here are the list of allowed
API entries: <a href="https://docs.microsoft.com/en-us/uwp/win32-and-com/win32-apis">https://docs.microsoft.com/en-us/uwp/win32-and-com/win32-apis</a>
In particular the RTL support:
<a href="https://docs.microsoft.com/en-us/uwp/win32-and-com/win32-apis#apis-from-api-ms-win-core-rtlsupport-l1-2-0dll">https://docs.microsoft.com/en-us/uwp/win32-and-com/win32-apis#apis-from-api-ms-win-core-rtlsupport-l1-2-0dll</a>

Maybe RtlUnwind or RtlUnwindEx could be used instead. But it seems like the
code would need a big rework.

In the meantime, builds with _LIBUNWIND_SUPPORT_SEH_UNWIND (the default when
__SEH__ is enable, which is also the default on win64) cannot be published on
the Windows Store for some devices because this API is not allowed (mostly for
C++ based code).</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>