Module: wine Branch: master Commit: a2e97854bf7e3bb0f26b3aae50aa870912bc3ffb URL: https://gitlab.winehq.org/wine/wine/-/commit/a2e97854bf7e3bb0f26b3aae50aa870...
Author: Alexandre Julliard julliard@winehq.org Date: Mon Dec 4 17:32:55 2023 +0100
ntdll: Use .seh handler in RtlUserThreadStart on ARM.
---
dlls/ntdll/signal_arm.c | 13 +++++++++++++ 1 file changed, 13 insertions(+)
diff --git a/dlls/ntdll/signal_arm.c b/dlls/ntdll/signal_arm.c index ae355aa5a8c..33233bb3a15 100644 --- a/dlls/ntdll/signal_arm.c +++ b/dlls/ntdll/signal_arm.c @@ -1582,6 +1582,18 @@ USHORT WINAPI RtlCaptureStackBackTrace( ULONG skip, ULONG count, PVOID *buffer, /*********************************************************************** * RtlUserThreadStart (NTDLL.@) */ +#ifdef __WINE_PE_BUILD +__ASM_GLOBAL_FUNC( RtlUserThreadStart, + ".seh_endprologue\n\t" + "mov r2, r1\n\t" + "mov r1, r0\n\t" + "mov r0, #0\n\t" + "ldr ip, 1f\n\t" + "ldr ip, [ip]\n\t" + "blx ip\n" + "1:\t.long " __ASM_NAME("pBaseThreadInitThunk") "\n\t" + ".seh_handler " __ASM_NAME("call_unhandled_exception_handler") ", %except" ) +#else void WINAPI RtlUserThreadStart( PRTL_THREAD_START_ROUTINE entry, void *arg ) { __TRY @@ -1594,6 +1606,7 @@ void WINAPI RtlUserThreadStart( PRTL_THREAD_START_ROUTINE entry, void *arg ) } __ENDTRY } +#endif
/****************************************************************** * LdrInitializeThunk (NTDLL.@)