Commit bf2b38a8 authored by Alexandre Julliard's avatar Alexandre Julliard

ntdll: Move the relay trace on thread startup to LdrInitializeThunk().

parent c22aa54e
...@@ -34,6 +34,7 @@ ...@@ -34,6 +34,7 @@
#include "winnt.h" #include "winnt.h"
WINE_DEFAULT_DEBUG_CHANNEL(seh); WINE_DEFAULT_DEBUG_CHANNEL(seh);
WINE_DECLARE_DEBUG_CHANNEL(relay);
WINE_DECLARE_DEBUG_CHANNEL(threadname); WINE_DECLARE_DEBUG_CHANNEL(threadname);
typedef struct _SCOPE_TABLE typedef struct _SCOPE_TABLE
...@@ -1493,6 +1494,7 @@ USHORT WINAPI RtlCaptureStackBackTrace( ULONG skip, ULONG count, PVOID *buffer, ...@@ -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 ) void WINAPI LdrInitializeThunk( CONTEXT *context, ULONG_PTR unk2, ULONG_PTR unk3, ULONG_PTR unk4 )
{ {
loader_init( context, (void **)&context->R0 ); loader_init( context, (void **)&context->R0 );
TRACE_(relay)( "\1Starting thread proc %p (arg=%p)\n", (void *)context->R0, (void *)context->R1 );
NtContinue( context, TRUE ); NtContinue( context, TRUE );
} }
......
...@@ -36,6 +36,7 @@ ...@@ -36,6 +36,7 @@
#include "winnt.h" #include "winnt.h"
WINE_DEFAULT_DEBUG_CHANNEL(seh); WINE_DEFAULT_DEBUG_CHANNEL(seh);
WINE_DECLARE_DEBUG_CHANNEL(relay);
WINE_DECLARE_DEBUG_CHANNEL(threadname); WINE_DECLARE_DEBUG_CHANNEL(threadname);
typedef struct _SCOPE_TABLE typedef struct _SCOPE_TABLE
...@@ -1530,6 +1531,7 @@ USHORT WINAPI RtlCaptureStackBackTrace( ULONG skip, ULONG count, PVOID *buffer, ...@@ -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 ) void WINAPI LdrInitializeThunk( CONTEXT *context, ULONG_PTR unk2, ULONG_PTR unk3, ULONG_PTR unk4 )
{ {
loader_init( context, (void **)&context->X0 ); loader_init( context, (void **)&context->X0 );
TRACE_(relay)( "\1Starting thread proc %p (arg=%p)\n", (void *)context->X0, (void *)context->X1 );
NtContinue( context, TRUE ); NtContinue( context, TRUE );
} }
......
...@@ -35,6 +35,7 @@ ...@@ -35,6 +35,7 @@
#include "wine/debug.h" #include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL(seh); WINE_DEFAULT_DEBUG_CHANNEL(seh);
WINE_DECLARE_DEBUG_CHANNEL(relay);
WINE_DECLARE_DEBUG_CHANNEL(threadname); WINE_DECLARE_DEBUG_CHANNEL(threadname);
struct x86_thread_data struct x86_thread_data
...@@ -561,6 +562,7 @@ __ASM_GLOBAL_FUNC( signal_start_thread, ...@@ -561,6 +562,7 @@ __ASM_GLOBAL_FUNC( signal_start_thread,
void WINAPI LdrInitializeThunk( CONTEXT *context, ULONG_PTR unk2, ULONG_PTR unk3, ULONG_PTR unk4 ) void WINAPI LdrInitializeThunk( CONTEXT *context, ULONG_PTR unk2, ULONG_PTR unk3, ULONG_PTR unk4 )
{ {
loader_init( context, (void **)&context->Eax ); 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 ); signal_start_thread( context );
} }
......
...@@ -34,6 +34,7 @@ ...@@ -34,6 +34,7 @@
WINE_DEFAULT_DEBUG_CHANNEL(unwind); WINE_DEFAULT_DEBUG_CHANNEL(unwind);
WINE_DECLARE_DEBUG_CHANNEL(seh); WINE_DECLARE_DEBUG_CHANNEL(seh);
WINE_DECLARE_DEBUG_CHANNEL(relay);
WINE_DECLARE_DEBUG_CHANNEL(threadname); WINE_DECLARE_DEBUG_CHANNEL(threadname);
typedef struct _SCOPE_TABLE typedef struct _SCOPE_TABLE
...@@ -1614,6 +1615,7 @@ __ASM_GLOBAL_FUNC( signal_start_thread, ...@@ -1614,6 +1615,7 @@ __ASM_GLOBAL_FUNC( signal_start_thread,
void WINAPI LdrInitializeThunk( CONTEXT *context, ULONG_PTR unk2, ULONG_PTR unk3, ULONG_PTR unk4 ) void WINAPI LdrInitializeThunk( CONTEXT *context, ULONG_PTR unk2, ULONG_PTR unk3, ULONG_PTR unk4 )
{ {
loader_init( context, (void **)&context->Rcx ); 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 ); signal_start_thread( context );
} }
......
...@@ -275,7 +275,6 @@ void DECLSPEC_HIDDEN call_thread_func( PRTL_THREAD_START_ROUTINE entry, void *ar ...@@ -275,7 +275,6 @@ void DECLSPEC_HIDDEN call_thread_func( PRTL_THREAD_START_ROUTINE entry, void *ar
{ {
__TRY __TRY
{ {
TRACE_(relay)( "\1Starting thread proc %p (arg=%p)\n", entry, arg );
call_thread_func_wrapper( pBaseThreadInitThunk, entry, arg ); call_thread_func_wrapper( pBaseThreadInitThunk, entry, arg );
} }
__EXCEPT(call_unhandled_exception_filter) __EXCEPT(call_unhandled_exception_filter)
...@@ -325,7 +324,6 @@ void WINAPI RtlUserThreadStart( PRTL_THREAD_START_ROUTINE entry, void *arg ) ...@@ -325,7 +324,6 @@ void WINAPI RtlUserThreadStart( PRTL_THREAD_START_ROUTINE entry, void *arg )
{ {
__TRY __TRY
{ {
TRACE_(relay)( "\1Starting thread proc %p (arg=%p)\n", entry, arg );
pBaseThreadInitThunk( 0, (LPTHREAD_START_ROUTINE)entry, arg ); pBaseThreadInitThunk( 0, (LPTHREAD_START_ROUTINE)entry, arg );
} }
__EXCEPT(call_unhandled_exception_filter) __EXCEPT(call_unhandled_exception_filter)
......
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