From 1aa2f0d1281334b812d0c78c79ed430b3c15d266 Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Thu, 1 Jun 2023 17:23:03 +0200 Subject: [PATCH] ntdll: Store the PE function pointers as simple void pointers. Their prototypes are not meaningful on the Unix side. --- dlls/ntdll/unix/loader.c | 16 ++++++++-------- dlls/ntdll/unix/unix_private.h | 17 ++++++++--------- 2 files changed, 16 insertions(+), 17 deletions(-) diff --git a/dlls/ntdll/unix/loader.c b/dlls/ntdll/unix/loader.c index 5b8b6962b4a..4d855a18cff 100644 --- a/dlls/ntdll/unix/loader.c +++ b/dlls/ntdll/unix/loader.c @@ -104,14 +104,14 @@ static const char so_dir[] = "/aarch64-unix"; static const char so_dir[] = ""; #endif -void (WINAPI *pDbgUiRemoteBreakin)( void *arg ) = NULL; -NTSTATUS (WINAPI *pKiRaiseUserExceptionDispatcher)(void) = NULL; -NTSTATUS (WINAPI *pKiUserExceptionDispatcher)(EXCEPTION_RECORD*,CONTEXT*) = NULL; -void (WINAPI *pKiUserApcDispatcher)(CONTEXT*,ULONG_PTR,ULONG_PTR,ULONG_PTR,PNTAPCFUNC) = NULL; -void (WINAPI *pKiUserCallbackDispatcher)(ULONG,void*,ULONG) = NULL; -void (WINAPI *pLdrInitializeThunk)(CONTEXT*,void**,ULONG_PTR,ULONG_PTR) = NULL; -void (WINAPI *pRtlUserThreadStart)( PRTL_THREAD_START_ROUTINE entry, void *arg ) = NULL; -void (WINAPI *p__wine_ctrl_routine)(void*); +void *pDbgUiRemoteBreakin = NULL; +void *pKiRaiseUserExceptionDispatcher = NULL; +void *pKiUserExceptionDispatcher = NULL; +void *pKiUserApcDispatcher = NULL; +void *pKiUserCallbackDispatcher = NULL; +void *pLdrInitializeThunk = NULL; +void *pRtlUserThreadStart = NULL; +void *p__wine_ctrl_routine = NULL; SYSTEM_DLL_INIT_BLOCK *pLdrSystemDllInitBlock = NULL; static void *p__wine_syscall_dispatcher; diff --git a/dlls/ntdll/unix/unix_private.h b/dlls/ntdll/unix/unix_private.h index 7fd536db909..a9a829a1685 100644 --- a/dlls/ntdll/unix/unix_private.h +++ b/dlls/ntdll/unix/unix_private.h @@ -121,16 +121,15 @@ static const LONG teb_offset = 0x2000; #define FILE_USE_FILE_POINTER_POSITION ((LONGLONG)-2) /* callbacks to PE ntdll from the Unix side */ -extern void (WINAPI *pDbgUiRemoteBreakin)( void *arg ) DECLSPEC_HIDDEN; -extern NTSTATUS (WINAPI *pKiRaiseUserExceptionDispatcher)(void) DECLSPEC_HIDDEN; -extern NTSTATUS (WINAPI *pKiUserExceptionDispatcher)(EXCEPTION_RECORD*,CONTEXT*) DECLSPEC_HIDDEN; -extern void (WINAPI *pKiUserApcDispatcher)(CONTEXT*,ULONG_PTR,ULONG_PTR,ULONG_PTR,PNTAPCFUNC) DECLSPEC_HIDDEN; -extern void (WINAPI *pKiUserCallbackDispatcher)(ULONG,void*,ULONG) DECLSPEC_HIDDEN; -extern void (WINAPI *pLdrInitializeThunk)(CONTEXT*,void**,ULONG_PTR,ULONG_PTR) DECLSPEC_HIDDEN; -extern void (WINAPI *pRtlUserThreadStart)( PRTL_THREAD_START_ROUTINE entry, void *arg ) DECLSPEC_HIDDEN; -extern void (WINAPI *p__wine_ctrl_routine)(void *) DECLSPEC_HIDDEN; +extern void *pDbgUiRemoteBreakin DECLSPEC_HIDDEN; +extern void *pKiRaiseUserExceptionDispatcher DECLSPEC_HIDDEN; +extern void *pKiUserExceptionDispatcher DECLSPEC_HIDDEN; +extern void *pKiUserApcDispatcher DECLSPEC_HIDDEN; +extern void *pKiUserCallbackDispatcher DECLSPEC_HIDDEN; +extern void *pLdrInitializeThunk DECLSPEC_HIDDEN; +extern void *pRtlUserThreadStart DECLSPEC_HIDDEN; +extern void *p__wine_ctrl_routine DECLSPEC_HIDDEN; extern SYSTEM_DLL_INIT_BLOCK *pLdrSystemDllInitBlock DECLSPEC_HIDDEN; -extern LONGLONG CDECL fast_RtlGetSystemTimePrecise(void) DECLSPEC_HIDDEN; struct _FILE_FS_DEVICE_INFORMATION;