• Martin Storsjö's avatar
    ntdll: Error out if unwinding isn't progressing on arm. · d00c8977
    Martin Storsjö authored
    In PE builds of wine, there's no unwind info (as LLVM hasn't
    implemented generating SEH unwind info for ARM yet).
    
    On startup of wine, an exception of the type RPC_S_SERVER_UNAVAILABLE
    is raised. In a PE build of Wine, the unwind would get stuck in
    an infinite loop.
    
    This still loops for a short while; after returning the error
    STATUS_INVALID_DISPOSITION, KiUserExceptionDispatcher ends up
    calling RtlRaiseStatus with this status, which then tries to
    unwind again, getting stuck similarly. However by recursively
    trying to unwind multiple times, the process crashes fairly soon
    after running out of stack.
    Signed-off-by: 's avatarMartin Storsjö <martin@martin.st>
    Signed-off-by: 's avatarAlexandre Julliard <julliard@winehq.org>
    d00c8977
signal_arm.c 41.5 KB