Commit 58e68a1b authored by Alexandre Julliard's avatar Alexandre Julliard

ntdll: Always use .seh handlers on ARM.

parent 89336772
...@@ -907,7 +907,6 @@ USHORT WINAPI RtlCaptureStackBackTrace( ULONG skip, ULONG count, PVOID *buffer, ...@@ -907,7 +907,6 @@ USHORT WINAPI RtlCaptureStackBackTrace( ULONG skip, ULONG count, PVOID *buffer,
/*********************************************************************** /***********************************************************************
* RtlUserThreadStart (NTDLL.@) * RtlUserThreadStart (NTDLL.@)
*/ */
#ifdef __WINE_PE_BUILD
__ASM_GLOBAL_FUNC( RtlUserThreadStart, __ASM_GLOBAL_FUNC( RtlUserThreadStart,
".seh_endprologue\n\t" ".seh_endprologue\n\t"
"mov r2, r1\n\t" "mov r2, r1\n\t"
...@@ -918,20 +917,6 @@ __ASM_GLOBAL_FUNC( RtlUserThreadStart, ...@@ -918,20 +917,6 @@ __ASM_GLOBAL_FUNC( RtlUserThreadStart,
"blx ip\n" "blx ip\n"
"1:\t.long " __ASM_NAME("pBaseThreadInitThunk") "\n\t" "1:\t.long " __ASM_NAME("pBaseThreadInitThunk") "\n\t"
".seh_handler " __ASM_NAME("call_unhandled_exception_handler") ", %except" ) ".seh_handler " __ASM_NAME("call_unhandled_exception_handler") ", %except" )
#else
void WINAPI RtlUserThreadStart( PRTL_THREAD_START_ROUTINE entry, void *arg )
{
__TRY
{
pBaseThreadInitThunk( 0, (LPTHREAD_START_ROUTINE)entry, arg );
}
__EXCEPT(call_unhandled_exception_filter)
{
NtTerminateProcess( GetCurrentProcess(), GetExceptionCode() );
}
__ENDTRY
}
#endif
/****************************************************************** /******************************************************************
* LdrInitializeThunk (NTDLL.@) * LdrInitializeThunk (NTDLL.@)
...@@ -946,7 +931,6 @@ void WINAPI LdrInitializeThunk( CONTEXT *context, ULONG_PTR unk2, ULONG_PTR unk3 ...@@ -946,7 +931,6 @@ void WINAPI LdrInitializeThunk( CONTEXT *context, ULONG_PTR unk2, ULONG_PTR unk3
/*********************************************************************** /***********************************************************************
* process_breakpoint * process_breakpoint
*/ */
#ifdef __WINE_PE_BUILD
__ASM_GLOBAL_FUNC( process_breakpoint, __ASM_GLOBAL_FUNC( process_breakpoint,
".seh_endprologue\n\t" ".seh_endprologue\n\t"
".seh_handler process_breakpoint_handler, %except\n\t" ".seh_handler process_breakpoint_handler, %except\n\t"
...@@ -958,25 +942,10 @@ __ASM_GLOBAL_FUNC( process_breakpoint, ...@@ -958,25 +942,10 @@ __ASM_GLOBAL_FUNC( process_breakpoint,
"str r0, [r2, #0x40]\n\t" "str r0, [r2, #0x40]\n\t"
"mov r0, #0\n\t" /* ExceptionContinueExecution */ "mov r0, #0\n\t" /* ExceptionContinueExecution */
"bx lr" ) "bx lr" )
#else
void WINAPI process_breakpoint(void)
{
__TRY
{
DbgBreakPoint();
}
__EXCEPT_ALL
{
/* do nothing */
}
__ENDTRY
}
#endif
/*********************************************************************** /***********************************************************************
* DbgUiRemoteBreakin (NTDLL.@) * DbgUiRemoteBreakin (NTDLL.@)
*/ */
#ifdef __WINE_PE_BUILD
__ASM_GLOBAL_FUNC( DbgUiRemoteBreakin, __ASM_GLOBAL_FUNC( DbgUiRemoteBreakin,
".seh_endprologue\n\t" ".seh_endprologue\n\t"
".seh_handler DbgUiRemoteBreakin_handler, %except\n\t" ".seh_handler DbgUiRemoteBreakin_handler, %except\n\t"
...@@ -990,24 +959,6 @@ __ASM_GLOBAL_FUNC( DbgUiRemoteBreakin, ...@@ -990,24 +959,6 @@ __ASM_GLOBAL_FUNC( DbgUiRemoteBreakin,
"DbgUiRemoteBreakin_handler:\n\t" "DbgUiRemoteBreakin_handler:\n\t"
"mov sp, r1\n\t" /* frame */ "mov sp, r1\n\t" /* frame */
"b 1b" ) "b 1b" )
#else
void WINAPI DbgUiRemoteBreakin( void *arg )
{
if (NtCurrentTeb()->Peb->BeingDebugged)
{
__TRY
{
DbgBreakPoint();
}
__EXCEPT_ALL
{
/* do nothing */
}
__ENDTRY
}
RtlExitUserThread( STATUS_SUCCESS );
}
#endif
/********************************************************************** /**********************************************************************
* DbgBreakPoint (NTDLL.@) * DbgBreakPoint (NTDLL.@)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment