Module: wine Branch: master Commit: bf2b38a805fbc8b1309cdff38a3311d8a7b5691c URL: https://gitlab.winehq.org/wine/wine/-/commit/bf2b38a805fbc8b1309cdff38a3311d...
Author: Alexandre Julliard julliard@winehq.org Date: Mon Oct 16 11:37:57 2023 +0200
ntdll: Move the relay trace on thread startup to LdrInitializeThunk().
---
dlls/ntdll/signal_arm.c | 2 ++ dlls/ntdll/signal_arm64.c | 2 ++ dlls/ntdll/signal_i386.c | 2 ++ dlls/ntdll/signal_x86_64.c | 2 ++ dlls/ntdll/thread.c | 2 -- 5 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/dlls/ntdll/signal_arm.c b/dlls/ntdll/signal_arm.c index fd653e16381..50eac39c31b 100644 --- a/dlls/ntdll/signal_arm.c +++ b/dlls/ntdll/signal_arm.c @@ -34,6 +34,7 @@ #include "winnt.h"
WINE_DEFAULT_DEBUG_CHANNEL(seh); +WINE_DECLARE_DEBUG_CHANNEL(relay); WINE_DECLARE_DEBUG_CHANNEL(threadname);
typedef struct _SCOPE_TABLE @@ -1493,6 +1494,7 @@ USHORT WINAPI RtlCaptureStackBackTrace( ULONG skip, ULONG count, PVOID *buffer, void WINAPI LdrInitializeThunk( CONTEXT *context, ULONG_PTR unk2, ULONG_PTR unk3, ULONG_PTR unk4 ) { loader_init( context, (void **)&context->R0 ); + TRACE_(relay)( "\1Starting thread proc %p (arg=%p)\n", (void *)context->R0, (void *)context->R1 ); NtContinue( context, TRUE ); }
diff --git a/dlls/ntdll/signal_arm64.c b/dlls/ntdll/signal_arm64.c index 85d31abc028..b244d77a821 100644 --- a/dlls/ntdll/signal_arm64.c +++ b/dlls/ntdll/signal_arm64.c @@ -36,6 +36,7 @@ #include "winnt.h"
WINE_DEFAULT_DEBUG_CHANNEL(seh); +WINE_DECLARE_DEBUG_CHANNEL(relay); WINE_DECLARE_DEBUG_CHANNEL(threadname);
typedef struct _SCOPE_TABLE @@ -1530,6 +1531,7 @@ USHORT WINAPI RtlCaptureStackBackTrace( ULONG skip, ULONG count, PVOID *buffer, void WINAPI LdrInitializeThunk( CONTEXT *context, ULONG_PTR unk2, ULONG_PTR unk3, ULONG_PTR unk4 ) { loader_init( context, (void **)&context->X0 ); + TRACE_(relay)( "\1Starting thread proc %p (arg=%p)\n", (void *)context->X0, (void *)context->X1 ); NtContinue( context, TRUE ); }
diff --git a/dlls/ntdll/signal_i386.c b/dlls/ntdll/signal_i386.c index 7174bd36afe..946e553cee1 100644 --- a/dlls/ntdll/signal_i386.c +++ b/dlls/ntdll/signal_i386.c @@ -35,6 +35,7 @@ #include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL(seh); +WINE_DECLARE_DEBUG_CHANNEL(relay); WINE_DECLARE_DEBUG_CHANNEL(threadname);
struct x86_thread_data @@ -561,6 +562,7 @@ __ASM_GLOBAL_FUNC( signal_start_thread, void WINAPI LdrInitializeThunk( CONTEXT *context, ULONG_PTR unk2, ULONG_PTR unk3, ULONG_PTR unk4 ) { loader_init( context, (void **)&context->Eax ); + TRACE_(relay)( "\1Starting thread proc %p (arg=%p)\n", (void *)context->Eax, (void *)context->Ebx ); signal_start_thread( context ); }
diff --git a/dlls/ntdll/signal_x86_64.c b/dlls/ntdll/signal_x86_64.c index ce57722a930..af3ea1af305 100644 --- a/dlls/ntdll/signal_x86_64.c +++ b/dlls/ntdll/signal_x86_64.c @@ -34,6 +34,7 @@
WINE_DEFAULT_DEBUG_CHANNEL(unwind); WINE_DECLARE_DEBUG_CHANNEL(seh); +WINE_DECLARE_DEBUG_CHANNEL(relay); WINE_DECLARE_DEBUG_CHANNEL(threadname);
typedef struct _SCOPE_TABLE @@ -1614,6 +1615,7 @@ __ASM_GLOBAL_FUNC( signal_start_thread, void WINAPI LdrInitializeThunk( CONTEXT *context, ULONG_PTR unk2, ULONG_PTR unk3, ULONG_PTR unk4 ) { loader_init( context, (void **)&context->Rcx ); + TRACE_(relay)( "\1Starting thread proc %p (arg=%p)\n", (void *)context->Rcx, (void *)context->Rdx ); signal_start_thread( context ); }
diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c index 82a470271d9..8d072dafa42 100644 --- a/dlls/ntdll/thread.c +++ b/dlls/ntdll/thread.c @@ -275,7 +275,6 @@ void DECLSPEC_HIDDEN call_thread_func( PRTL_THREAD_START_ROUTINE entry, void *ar { __TRY { - TRACE_(relay)( "\1Starting thread proc %p (arg=%p)\n", entry, arg ); call_thread_func_wrapper( pBaseThreadInitThunk, entry, arg ); } __EXCEPT(call_unhandled_exception_filter) @@ -325,7 +324,6 @@ void WINAPI RtlUserThreadStart( PRTL_THREAD_START_ROUTINE entry, void *arg ) { __TRY { - TRACE_(relay)( "\1Starting thread proc %p (arg=%p)\n", entry, arg ); pBaseThreadInitThunk( 0, (LPTHREAD_START_ROUTINE)entry, arg ); } __EXCEPT(call_unhandled_exception_filter)