Rebase against 9f0534301321c9192c9e3a705b2bae84a2081745

This commit is contained in:
Alistair Leslie-Hughes 2018-10-10 09:31:34 +11:00
parent 5a2c1ea66d
commit 4beed4a313
7 changed files with 28 additions and 329 deletions

View File

@ -1,38 +0,0 @@
From bb6a297b0f0ba510954fd32fc5d1a1f9139e5536 Mon Sep 17 00:00:00 2001
From: Andrew Wesie <awesie@gmail.com>
Date: Mon, 23 Jul 2018 19:30:01 -0700
Subject: [PATCH] ntdll: Add RtlSetUnhandledExceptionFilter stub.
---
dlls/ntdll/exception.c | 5 +++++
dlls/ntdll/ntdll.spec | 1 +
2 files changed, 6 insertions(+)
diff --git a/dlls/ntdll/exception.c b/dlls/ntdll/exception.c
index f853810..f82b6b4 100644
--- a/dlls/ntdll/exception.c
+++ b/dlls/ntdll/exception.c
@@ -325,3 +325,8 @@ void __wine_spec_unimplemented_stub( const char *module, const char *function )
record.ExceptionInformation[1] = (ULONG_PTR)function;
for (;;) RtlRaiseException( &record );
}
+
+void WINAPI RtlSetUnhandledExceptionFilter( void *handler )
+{
+ FIXME( "(%p) stub!\n", handler );
+}
diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec
index d321c44..72437b1 100644
--- a/dlls/ntdll/ntdll.spec
+++ b/dlls/ntdll/ntdll.spec
@@ -900,6 +900,7 @@
# @ stub RtlSetThreadPoolStartFunc
@ stdcall RtlSetTimeZoneInformation(ptr)
# @ stub RtlSetTimer
+@ stdcall RtlSetUnhandledExceptionFilter(ptr)
@ stub RtlSetUnicodeCallouts
@ stub RtlSetUserFlagsHeap
@ stub RtlSetUserValueHeap
--
1.9.1

View File

@ -1 +0,0 @@
Fixes: [45566] League of Legends 8.12+ needs ntdll.RtlSetUnhandledExceptionFilter stub

View File

@ -1,4 +1,4 @@
From 235e57cb0305f1e9a1184318f74f897d527b24cc Mon Sep 17 00:00:00 2001
From 40ccadf41bd61db2af9fb0b25e52384d859bbb82 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Fri, 5 May 2017 05:40:50 +0200
Subject: [PATCH] ntdll: Create thread to update user_shared_data time values
@ -6,14 +6,14 @@ Subject: [PATCH] ntdll: Create thread to update user_shared_data time values
---
dlls/kernel32/cpu.c | 4 +--
dlls/ntdll/loader.c | 31 ++++++++++++++++++++++
dlls/ntdll/ntdll_misc.h | 3 +++
dlls/ntdll/thread.c | 70 ++++++++++++++++++++++++++++++++++++++++++++-----
dlls/ntdll/virtual.c | 17 ++++++++++++
dlls/ntdll/loader.c | 31 ++++++++++++++++++
dlls/ntdll/ntdll_misc.h | 3 ++
dlls/ntdll/thread.c | 70 ++++++++++++++++++++++++++++++++++++-----
dlls/ntdll/virtual.c | 17 ++++++++++
5 files changed, 116 insertions(+), 9 deletions(-)
diff --git a/dlls/kernel32/cpu.c b/dlls/kernel32/cpu.c
index 2a15dadbe6..50b26fff9f 100644
index a8f014c6efd..e2780aa52fc 100644
--- a/dlls/kernel32/cpu.c
+++ b/dlls/kernel32/cpu.c
@@ -46,7 +46,7 @@
@ -35,10 +35,10 @@ index 2a15dadbe6..50b26fff9f 100644
return FALSE;
}
diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c
index 773f95e059..4d0267f0a6 100644
index 3e95e517469..cceb6b0b4bb 100644
--- a/dlls/ntdll/loader.c
+++ b/dlls/ntdll/loader.c
@@ -3272,6 +3272,36 @@ static void load_global_options(void)
@@ -3436,6 +3436,36 @@ static void load_global_options(void)
}
@ -75,7 +75,7 @@ index 773f95e059..4d0267f0a6 100644
/******************************************************************
* LdrInitializeThunk (NTDLL.@)
*
@@ -3302,6 +3332,7 @@ void WINAPI LdrInitializeThunk( void *kernel_start, ULONG_PTR unknown2,
@@ -3465,6 +3495,7 @@ void WINAPI LdrInitializeThunk( void *kernel_start, ULONG_PTR unknown2,
if (!peb->ProcessParameters->WindowTitle.Buffer)
peb->ProcessParameters->WindowTitle = wm->ldr.FullDllName;
version_init( wm->ldr.FullDllName.Buffer );
@ -84,10 +84,10 @@ index 773f95e059..4d0267f0a6 100644
virtual_set_large_address_space();
diff --git a/dlls/ntdll/ntdll_misc.h b/dlls/ntdll/ntdll_misc.h
index 8624399354..7e5439dec9 100644
index a723f907567..c71d5e1dd1a 100644
--- a/dlls/ntdll/ntdll_misc.h
+++ b/dlls/ntdll/ntdll_misc.h
@@ -190,6 +190,9 @@ extern void VIRTUAL_SetForceExec( BOOL enable ) DECLSPEC_HIDDEN;
@@ -189,6 +189,9 @@ extern void VIRTUAL_SetForceExec( BOOL enable ) DECLSPEC_HIDDEN;
extern void virtual_release_address_space(void) DECLSPEC_HIDDEN;
extern void virtual_set_large_address_space(void) DECLSPEC_HIDDEN;
extern struct _KUSER_SHARED_DATA *user_shared_data DECLSPEC_HIDDEN;
@ -98,7 +98,7 @@ index 8624399354..7e5439dec9 100644
/* completion */
extern NTSTATUS NTDLL_AddCompletion( HANDLE hFile, ULONG_PTR CompletionValue,
diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c
index ff14a5e757..44ffa9d733 100644
index 9fd44222d42..d8b4032195b 100644
--- a/dlls/ntdll/thread.c
+++ b/dlls/ntdll/thread.c
@@ -44,6 +44,7 @@
@ -119,8 +119,8 @@ index ff14a5e757..44ffa9d733 100644
+struct _KUSER_SHARED_DATA *user_shared_data = &user_shared_data_internal;
static const WCHAR default_windirW[] = {'C',':','\\','w','i','n','d','o','w','s',0};
PUNHANDLED_EXCEPTION_FILTER unhandled_exception_filter = NULL;
@@ -360,18 +363,71 @@ static ULONG_PTR get_image_addr(void)
void (WINAPI *kernel32_start_process)(LPTHREAD_START_ROUTINE,void*) = NULL;
@@ -358,18 +361,71 @@ static ULONG_PTR get_image_addr(void)
*/
BYTE* CDECL __wine_user_shared_data(void)
{
@ -197,7 +197,7 @@ index ff14a5e757..44ffa9d733 100644
/***********************************************************************
* thread_init
*
@@ -403,7 +459,7 @@ HANDLE thread_init(void)
@@ -400,7 +456,7 @@ void thread_init(void)
MESSAGE( "wine: failed to map the shared user data: %08x\n", status );
exit(1);
}
@ -207,7 +207,7 @@ index ff14a5e757..44ffa9d733 100644
/* allocate and initialize the PEB */
diff --git a/dlls/ntdll/virtual.c b/dlls/ntdll/virtual.c
index 8303a03eba..7d7149732f 100644
index 384ea82c1cf..7dad0c89ab1 100644
--- a/dlls/ntdll/virtual.c
+++ b/dlls/ntdll/virtual.c
@@ -2013,6 +2013,7 @@ NTSTATUS virtual_handle_fault( LPCVOID addr, DWORD err, BOOL on_signal_stack )
@ -243,5 +243,5 @@ index 8303a03eba..7d7149732f 100644
}
--
2.16.1
2.19.1

View File

@ -1,223 +0,0 @@
From 6f813741ccf3790be71ad736260e023dc8f0ac14 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Fri, 12 Feb 2016 02:39:07 +0100
Subject: opengl32: Add wrappers for glDebugMessageCallback to handle calling
convention differences.
---
dlls/opengl32/make_opengl | 3 +++
dlls/opengl32/opengl_ext.c | 24 +++----------------
dlls/opengl32/tests/opengl.c | 44 ++++++++++++++++++++++++++++++++++
dlls/opengl32/wgl.c | 57 ++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 107 insertions(+), 21 deletions(-)
diff --git a/dlls/opengl32/make_opengl b/dlls/opengl32/make_opengl
index d5d614b6138..1f143f687c6 100755
--- a/dlls/opengl32/make_opengl
+++ b/dlls/opengl32/make_opengl
@@ -418,6 +418,9 @@ sub needs_wrapper($$)
"glGetString" => 1,
"glGetStringi" => 1,
"wglGetCurrentReadDCARB" => 1,
+ "glDebugMessageCallback" => 1,
+ "glDebugMessageCallbackAMD" => 1,
+ "glDebugMessageCallbackARB" => 1,
);
my ($name, $func) = @_;
diff --git a/dlls/opengl32/opengl_ext.c b/dlls/opengl32/opengl_ext.c
index aa84c8b8863..90ad75178ce 100644
--- a/dlls/opengl32/opengl_ext.c
+++ b/dlls/opengl32/opengl_ext.c
@@ -2313,27 +2313,6 @@ static void WINAPI glCurrentPaletteMatrixARB( GLint index )
funcs->ext.p_glCurrentPaletteMatrixARB( index );
}
-static void WINAPI glDebugMessageCallback( GLDEBUGPROC callback, const void *userParam )
-{
- const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
- TRACE( "(%p, %p)\n", callback, userParam );
- funcs->ext.p_glDebugMessageCallback( callback, userParam );
-}
-
-static void WINAPI glDebugMessageCallbackAMD( GLDEBUGPROCAMD callback, void *userParam )
-{
- const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
- TRACE( "(%p, %p)\n", callback, userParam );
- funcs->ext.p_glDebugMessageCallbackAMD( callback, userParam );
-}
-
-static void WINAPI glDebugMessageCallbackARB( GLDEBUGPROCARB callback, const void *userParam )
-{
- const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
- TRACE( "(%p, %p)\n", callback, userParam );
- funcs->ext.p_glDebugMessageCallbackARB( callback, userParam );
-}
-
static void WINAPI glDebugMessageControl( GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled )
{
const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
@@ -18518,6 +18497,9 @@ static BOOL WINAPI wglSwapIntervalEXT( int interval )
return funcs->ext.p_wglSwapIntervalEXT( interval );
}
+extern void WINAPI glDebugMessageCallback( GLDEBUGPROC callback, const void *userParam ) DECLSPEC_HIDDEN;
+extern void WINAPI glDebugMessageCallbackAMD( GLDEBUGPROCAMD callback, void *userParam ) DECLSPEC_HIDDEN;
+extern void WINAPI glDebugMessageCallbackARB( GLDEBUGPROCARB callback, const void *userParam ) DECLSPEC_HIDDEN;
extern const GLubyte * WINAPI glGetStringi( GLenum name, GLuint index ) DECLSPEC_HIDDEN;
extern BOOL WINAPI wglBindTexImageARB( HPBUFFERARB hPbuffer, int iBuffer ) DECLSPEC_HIDDEN;
extern HGLRC WINAPI wglCreateContextAttribsARB( HDC hDC, HGLRC hShareContext, const int *attribList ) DECLSPEC_HIDDEN;
diff --git a/dlls/opengl32/tests/opengl.c b/dlls/opengl32/tests/opengl.c
index 8126fbf96dd..a928a9c181d 100644
--- a/dlls/opengl32/tests/opengl.c
+++ b/dlls/opengl32/tests/opengl.c
@@ -48,6 +48,11 @@ static HDC (WINAPI *pwglGetPbufferDCARB)(HPBUFFERARB);
static BOOL (WINAPI *pwglSwapIntervalEXT)(int interval);
static int (WINAPI *pwglGetSwapIntervalEXT)(void);
+/* GL_ARB_debug_output */
+static void (WINAPI *pglDebugMessageCallbackARB)(void *, void *);
+static void (WINAPI *pglDebugMessageControlARB)(GLenum, GLenum, GLenum, GLsizei, const GLuint *, GLboolean);
+static void (WINAPI *pglDebugMessageInsertARB)(GLenum, GLenum, GLuint, GLenum, GLsizei, const char *);
+
static const char* wgl_extensions = NULL;
static void init_functions(void)
@@ -80,6 +85,11 @@ static void init_functions(void)
GET_PROC(wglSwapIntervalEXT)
GET_PROC(wglGetSwapIntervalEXT)
+ /* GL_ARB_debug_output */
+ GET_PROC(glDebugMessageCallbackARB)
+ GET_PROC(glDebugMessageControlARB)
+ GET_PROC(glDebugMessageInsertARB)
+
#undef GET_PROC
}
@@ -304,6 +314,39 @@ static void test_choosepixelformat(void)
pfd.cAuxBuffers = 0;
}
+static void WINAPI gl_debug_message_callback(GLenum source, GLenum type, GLuint id, GLenum severity,
+ GLsizei length, const GLchar *message, const void *userParam)
+{
+ DWORD *count = (DWORD *)userParam;
+ (*count)++;
+}
+
+static void test_debug_message_callback(void)
+{
+ static const char testmsg[] = "Hello World";
+ DWORD count;
+
+ if (!pglDebugMessageCallbackARB)
+ {
+ skip("glDebugMessageCallbackARB not supported\n");
+ return;
+ }
+
+ glEnable(GL_DEBUG_OUTPUT);
+ glEnable(GL_DEBUG_OUTPUT_SYNCHRONOUS);
+
+ pglDebugMessageCallbackARB(gl_debug_message_callback, &count);
+ pglDebugMessageControlARB(GL_DONT_CARE, GL_DONT_CARE, GL_DONT_CARE, 0, NULL, GL_TRUE);
+
+ count = 0;
+ pglDebugMessageInsertARB(GL_DEBUG_SOURCE_APPLICATION, GL_DEBUG_TYPE_OTHER, 0x42424242,
+ GL_DEBUG_SEVERITY_LOW, sizeof(testmsg), testmsg);
+ ok(count == 1, "expected count == 1, got %u\n", count);
+
+ glDisable(GL_DEBUG_OUTPUT_SYNCHRONOUS);
+ glDisable(GL_DEBUG_OUTPUT);
+}
+
static void test_setpixelformat(HDC winhdc)
{
int res = 0;
@@ -1787,6 +1830,7 @@ START_TEST(opengl)
}
test_choosepixelformat();
+ test_debug_message_callback();
test_setpixelformat(hdc);
test_destroy(hdc);
test_sharelists(hdc);
diff --git a/dlls/opengl32/wgl.c b/dlls/opengl32/wgl.c
index b73920cb256..d20fedaa98b 100644
--- a/dlls/opengl32/wgl.c
+++ b/dlls/opengl32/wgl.c
@@ -58,6 +58,9 @@ struct opengl_context
DWORD tid; /* thread that the context is current in */
HDC draw_dc; /* current drawing DC */
HDC read_dc; /* current reading DC */
+ void (CALLBACK *debug_callback)(GLenum, GLenum, GLuint, GLenum,
+ GLsizei, const GLchar *, const void *); /* debug callback */
+ const void *debug_user; /* debug user parameter */
GLubyte *extensions; /* extension string */
GLuint *disabled_exts; /* indices of disabled extensions */
struct wgl_context *drv_ctx; /* driver context */
@@ -1746,6 +1749,60 @@ const GLubyte * WINAPI glGetString( GLenum name )
return ret;
}
+/* wrapper for glDebugMessageCallback* functions */
+static void gl_debug_message_callback( GLenum source, GLenum type, GLuint id, GLenum severity,
+ GLsizei length, const GLchar *message,const void *userParam )
+{
+ struct wgl_handle *ptr = (struct wgl_handle *)userParam;
+ if (!ptr->u.context->debug_callback) return;
+ ptr->u.context->debug_callback( source, type, id, severity, length, message, ptr->u.context->debug_user );
+}
+
+/***********************************************************************
+ * glDebugMessageCallback
+ */
+void WINAPI glDebugMessageCallback( GLDEBUGPROC callback, const void *userParam )
+{
+ struct wgl_handle *ptr = get_current_context_ptr();
+ const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
+
+ TRACE( "(%p, %p)\n", callback, userParam );
+
+ ptr->u.context->debug_callback = callback;
+ ptr->u.context->debug_user = userParam;
+ funcs->ext.p_glDebugMessageCallback( gl_debug_message_callback, ptr );
+}
+
+/***********************************************************************
+ * glDebugMessageCallbackAMD
+ */
+void WINAPI glDebugMessageCallbackAMD( GLDEBUGPROCAMD callback, void *userParam )
+{
+ struct wgl_handle *ptr = get_current_context_ptr();
+ const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
+
+ TRACE( "(%p, %p)\n", callback, userParam );
+
+ ptr->u.context->debug_callback = callback;
+ ptr->u.context->debug_user = userParam;
+ funcs->ext.p_glDebugMessageCallbackAMD( gl_debug_message_callback, ptr );
+}
+
+/***********************************************************************
+ * glDebugMessageCallbackARB
+ */
+void WINAPI glDebugMessageCallbackARB( GLDEBUGPROCARB callback, const void *userParam )
+{
+ struct wgl_handle *ptr = get_current_context_ptr();
+ const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
+
+ TRACE( "(%p, %p)\n", callback, userParam );
+
+ ptr->u.context->debug_callback = callback;
+ ptr->u.context->debug_user = userParam;
+ funcs->ext.p_glDebugMessageCallbackARB( gl_debug_message_callback, ptr );
+}
+
/***********************************************************************
* OpenGL initialisation routine
*/
--
2.14.1

View File

@ -1 +0,0 @@
Fixes: [38402] Fix calling convention of glDebugMessageCallback callback function

View File

@ -52,7 +52,7 @@ usage()
# Get the upstream commit sha
upstream_commit()
{
echo "cc4b28a99df649d2885c14fd28c2ad2f0c2abdad"
echo "9f0534301321c9192c9e3a705b2bae84a2081745"
}
# Show version information
@ -226,7 +226,6 @@ patch_enable_all ()
enable_ntdll_RtlCreateUserThread="$1"
enable_ntdll_RtlGetUnloadEventTraceEx="$1"
enable_ntdll_RtlQueryPackageIdentity="$1"
enable_ntdll_RtlSetUnhandledExceptionFilter="$1"
enable_ntdll_Serial_Port_Detection="$1"
enable_ntdll_Signal_Handler="$1"
enable_ntdll_Stack_Guard_Page="$1"
@ -261,7 +260,6 @@ patch_enable_all ()
enable_oleaut32_OleLoadPictureFile="$1"
enable_oleaut32_TKIND_COCLASS="$1"
enable_oleaut32_x86_64_Marshaller="$1"
enable_opengl32_glDebugMessageCallback="$1"
enable_opengl32_wglChoosePixelFormat="$1"
enable_packager_DllMain="$1"
enable_quartz_MediaSeeking_Positions="$1"
@ -845,9 +843,6 @@ patch_enable ()
ntdll-RtlQueryPackageIdentity)
enable_ntdll_RtlQueryPackageIdentity="$2"
;;
ntdll-RtlSetUnhandledExceptionFilter)
enable_ntdll_RtlSetUnhandledExceptionFilter="$2"
;;
ntdll-Serial_Port_Detection)
enable_ntdll_Serial_Port_Detection="$2"
;;
@ -950,9 +945,6 @@ patch_enable ()
oleaut32-x86_64_Marshaller)
enable_oleaut32_x86_64_Marshaller="$2"
;;
opengl32-glDebugMessageCallback)
enable_opengl32_glDebugMessageCallback="$2"
;;
opengl32-wglChoosePixelFormat)
enable_opengl32_wglChoosePixelFormat="$2"
;;
@ -5094,21 +5086,6 @@ if test "$enable_ntdll_RtlGetUnloadEventTraceEx" -eq 1; then
) >> "$patchlist"
fi
# Patchset ntdll-RtlSetUnhandledExceptionFilter
# |
# | This patchset fixes the following Wine bugs:
# | * [#45566] League of Legends 8.12+ needs ntdll.RtlSetUnhandledExceptionFilter stub
# |
# | Modified files:
# | * dlls/ntdll/exception.c, dlls/ntdll/ntdll.spec
# |
if test "$enable_ntdll_RtlSetUnhandledExceptionFilter" -eq 1; then
patch_apply ntdll-RtlSetUnhandledExceptionFilter/0001-ntdll-Add-RtlSetUnhandledExceptionFilter-stub.patch
(
printf '%s\n' '+ { "Andrew Wesie", "ntdll: Add RtlSetUnhandledExceptionFilter stub.", 1 },';
) >> "$patchlist"
fi
# Patchset ntdll-Serial_Port_Detection
# |
# | This patchset fixes the following Wine bugs:
@ -5636,21 +5613,6 @@ if test "$enable_oleaut32_x86_64_Marshaller" -eq 1; then
) >> "$patchlist"
fi
# Patchset opengl32-glDebugMessageCallback
# |
# | This patchset fixes the following Wine bugs:
# | * [#38402] Fix calling convention of glDebugMessageCallback callback function
# |
# | Modified files:
# | * dlls/opengl32/make_opengl, dlls/opengl32/opengl_ext.c, dlls/opengl32/tests/opengl.c, dlls/opengl32/wgl.c
# |
if test "$enable_opengl32_glDebugMessageCallback" -eq 1; then
patch_apply opengl32-glDebugMessageCallback/0002-opengl32-Add-wrappers-for-glDebugMessageCallback-to-.patch
(
printf '%s\n' '+ { "Sebastian Lackner", "opengl32: Add wrappers for glDebugMessageCallback to handle calling convention differences.", 1 },';
) >> "$patchlist"
fi
# Patchset opengl32-wglChoosePixelFormat
# |
# | This patchset fixes the following Wine bugs:

View File

@ -1,4 +1,4 @@
From ef61dd7d4ec04dba8d5fd2fbd67eb605088ebfa9 Mon Sep 17 00:00:00 2001
From c101440f7e4066a3727b46a0b4b08bacef0e8bc2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Thu, 7 Sep 2017 00:38:09 +0200
Subject: [PATCH] tools/winebuild: Add syscall thunks for 64 bit.
@ -13,10 +13,10 @@ Subject: [PATCH] tools/winebuild: Add syscall thunks for 64 bit.
6 files changed, 223 insertions(+), 9 deletions(-)
diff --git a/dlls/kernel32/tests/loader.c b/dlls/kernel32/tests/loader.c
index c9af524..1ddd0f4 100644
index 26214c4..8c3521c 100644
--- a/dlls/kernel32/tests/loader.c
+++ b/dlls/kernel32/tests/loader.c
@@ -1397,7 +1397,7 @@ static void test_filenames(void)
@@ -1415,7 +1415,7 @@ static void test_filenames(void)
static void test_FakeDLL(void)
{
@ -25,7 +25,7 @@ index c9af524..1ddd0f4 100644
NTSTATUS (WINAPI *pNtSetEvent)(HANDLE, ULONG *) = NULL;
IMAGE_EXPORT_DIRECTORY *dir;
HMODULE module = GetModuleHandleA("ntdll.dll");
@@ -1439,8 +1439,13 @@ static void test_FakeDLL(void)
@@ -1457,8 +1457,13 @@ static void test_FakeDLL(void)
dll_func = (BYTE *)GetProcAddress(module, func_name);
ok(dll_func != NULL, "%s: GetProcAddress returned NULL\n", func_name);
@ -40,7 +40,7 @@ index c9af524..1ddd0f4 100644
todo_wine ok(0, "%s: Export is a stub-function, skipping\n", func_name);
continue;
diff --git a/dlls/ntdll/signal_x86_64.c b/dlls/ntdll/signal_x86_64.c
index 2bd3f6e..3818f65 100644
index 9f0fbc2..ef89180 100644
--- a/dlls/ntdll/signal_x86_64.c
+++ b/dlls/ntdll/signal_x86_64.c
@@ -328,6 +328,8 @@ static inline struct amd64_thread_data *amd64_thread_data(void)
@ -61,7 +61,7 @@ index 2bd3f6e..3818f65 100644
return status;
}
diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c
index 24369fd..54f98a2 100644
index abea82b..17252d4 100644
--- a/dlls/ntdll/thread.c
+++ b/dlls/ntdll/thread.c
@@ -60,6 +60,8 @@ struct _KUSER_SHARED_DATA *user_shared_data_external;
@ -70,10 +70,10 @@ index 24369fd..54f98a2 100644
+extern void DECLSPEC_NORETURN __wine_syscall_dispatcher( void );
+
PUNHANDLED_EXCEPTION_FILTER unhandled_exception_filter = NULL;
void (WINAPI *kernel32_start_process)(LPTHREAD_START_ROUTINE,void*) = NULL;
@@ -90,7 +92,6 @@ static RTL_CRITICAL_SECTION_DEBUG critsect_debug =
/* info passed to a starting thread */
@@ -89,7 +91,6 @@ static RTL_CRITICAL_SECTION_DEBUG critsect_debug =
};
static RTL_CRITICAL_SECTION peb_lock = { &critsect_debug, -1, 0, 0, 0, 0 };
@ -81,7 +81,7 @@ index 24369fd..54f98a2 100644
BOOL read_process_time(int unix_pid, int unix_tid, unsigned long clk_tck,
LARGE_INTEGER *kernel, LARGE_INTEGER *user)
{
@@ -499,6 +500,10 @@ HANDLE thread_init(void)
@@ -496,6 +497,10 @@ void thread_init(void)
InitializeListHead( &ldr.InInitializationOrderModuleList );
*(ULONG_PTR *)peb->Reserved = get_image_addr();
@ -387,5 +387,5 @@ index d2fd6a6..403aad5 100644
}
else
--
2.7.4
1.9.1