diff --git a/patches/ntdll-Syscall_Emulation/0001-ntdll-Support-x86_64-syscall-emulation.patch b/patches/ntdll-Syscall_Emulation/0001-ntdll-Support-x86_64-syscall-emulation.patch index 8e35cef7..39ed1b56 100644 --- a/patches/ntdll-Syscall_Emulation/0001-ntdll-Support-x86_64-syscall-emulation.patch +++ b/patches/ntdll-Syscall_Emulation/0001-ntdll-Support-x86_64-syscall-emulation.patch @@ -182,7 +182,7 @@ index 0204139631f..117c238cf44 100644 + sigaction(SIGSYS, sig_act, NULL); + + frame->syscall_flags = syscall_flags; -+ frame->syscall_table = KeServiceDescriptorTable; ++ + + test_syscall = mmap((void *)0x600000000000, 0x1000, PROT_EXEC | PROT_READ | PROT_WRITE, + MAP_PRIVATE | MAP_ANON, -1, 0); diff --git a/patches/ntdll-WRITECOPY/0003-ntdll-Setup-a-temporary-signal-handler-during-proces.patch b/patches/ntdll-WRITECOPY/0003-ntdll-Setup-a-temporary-signal-handler-during-proces.patch index 6aedd21c..7023b073 100644 --- a/patches/ntdll-WRITECOPY/0003-ntdll-Setup-a-temporary-signal-handler-during-proces.patch +++ b/patches/ntdll-WRITECOPY/0003-ntdll-Setup-a-temporary-signal-handler-during-proces.patch @@ -1,4 +1,4 @@ -From c9909ae014ff7bada1f22d1f4aee2f75092e495a Mon Sep 17 00:00:00 2001 +From 8846243fcf799dc8a439aba399ccbb412c263de8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Sat, 4 Oct 2014 02:53:22 +0200 Subject: [PATCH] ntdll: Setup a temporary signal handler during process @@ -15,10 +15,10 @@ Subject: [PATCH] ntdll: Setup a temporary signal handler during process 7 files changed, 74 insertions(+), 1 deletion(-) diff --git a/dlls/ntdll/unix/loader.c b/dlls/ntdll/unix/loader.c -index 8d4ee296de1..c9497c90e3d 100644 +index fdda50575d1..f7afa327391 100644 --- a/dlls/ntdll/unix/loader.c +++ b/dlls/ntdll/unix/loader.c -@@ -2384,6 +2384,8 @@ DECLSPEC_EXPORT void __wine_main( int argc, char *argv[], char *envp[] ) +@@ -2129,6 +2129,8 @@ DECLSPEC_EXPORT void __wine_main( int argc, char *argv[], char *envp[] ) #endif virtual_init(); @@ -28,10 +28,10 @@ index 8d4ee296de1..c9497c90e3d 100644 #ifdef __APPLE__ diff --git a/dlls/ntdll/unix/signal_arm.c b/dlls/ntdll/unix/signal_arm.c -index 5ba429c6364..219be90e10d 100644 +index f255328fc73..798f683c5bd 100644 --- a/dlls/ntdll/unix/signal_arm.c +++ b/dlls/ntdll/unix/signal_arm.c -@@ -1566,6 +1566,12 @@ void signal_init_process(void) +@@ -1605,6 +1605,12 @@ void signal_init_process(void) exit(1); } @@ -45,10 +45,10 @@ index 5ba429c6364..219be90e10d 100644 /*********************************************************************** * call_init_thunk diff --git a/dlls/ntdll/unix/signal_arm64.c b/dlls/ntdll/unix/signal_arm64.c -index d9e35e32a51..6b529eea09e 100644 +index 0208913010d..188c8fc205c 100644 --- a/dlls/ntdll/unix/signal_arm64.c +++ b/dlls/ntdll/unix/signal_arm64.c -@@ -1592,6 +1592,12 @@ void signal_init_process(void) +@@ -1654,6 +1654,12 @@ void signal_init_process(void) exit(1); } @@ -62,10 +62,10 @@ index d9e35e32a51..6b529eea09e 100644 /*********************************************************************** * syscall_dispatcher_return_slowpath diff --git a/dlls/ntdll/unix/signal_i386.c b/dlls/ntdll/unix/signal_i386.c -index 42d14cabd07..a4e1b4923e5 100644 +index 67221a4028c..46b298dfc69 100644 --- a/dlls/ntdll/unix/signal_i386.c +++ b/dlls/ntdll/unix/signal_i386.c -@@ -1839,6 +1839,30 @@ static BOOL handle_syscall_trap( ucontext_t *sigcontext ) +@@ -1861,6 +1861,30 @@ static BOOL handle_syscall_trap( ucontext_t *sigcontext ) } @@ -96,7 +96,7 @@ index 42d14cabd07..a4e1b4923e5 100644 /********************************************************************** * segv_handler * -@@ -2408,6 +2432,34 @@ void signal_init_process(void) +@@ -2431,6 +2455,34 @@ void signal_init_process(void) exit(1); } @@ -132,10 +132,10 @@ index 42d14cabd07..a4e1b4923e5 100644 /*********************************************************************** * call_init_thunk diff --git a/dlls/ntdll/unix/signal_x86_64.c b/dlls/ntdll/unix/signal_x86_64.c -index 753cd472544..665d9954569 100644 +index 28841de98f1..4440b60557c 100644 --- a/dlls/ntdll/unix/signal_x86_64.c +++ b/dlls/ntdll/unix/signal_x86_64.c -@@ -2622,6 +2622,12 @@ void signal_init_process(void) +@@ -2644,6 +2644,12 @@ void signal_init_process(void) exit(1); } @@ -149,7 +149,7 @@ index 753cd472544..665d9954569 100644 /*********************************************************************** * call_init_thunk diff --git a/dlls/ntdll/unix/unix_private.h b/dlls/ntdll/unix/unix_private.h -index cac2c4fb9a3..c003ce80273 100644 +index e09d0b41981..b6def005b91 100644 --- a/dlls/ntdll/unix/unix_private.h +++ b/dlls/ntdll/unix/unix_private.h @@ -276,6 +276,7 @@ extern void signal_init_threading(void); @@ -159,7 +159,7 @@ index cac2c4fb9a3..c003ce80273 100644 +extern void signal_init_early(void); extern void DECLSPEC_NORETURN signal_start_thread( PRTL_THREAD_START_ROUTINE entry, void *arg, BOOL suspend, TEB *teb ); - extern void DECLSPEC_NORETURN signal_exit_thread( int status, void (*func)(int), TEB *teb ); + extern SYSTEM_SERVICE_TABLE KeServiceDescriptorTable[4]; diff --git a/dlls/ntdll/unix/virtual.c b/dlls/ntdll/unix/virtual.c index cc446de6250..f93740e9f4f 100644 --- a/dlls/ntdll/unix/virtual.c diff --git a/staging/upstream-commit b/staging/upstream-commit index d7cddc45..380bbb62 100644 --- a/staging/upstream-commit +++ b/staging/upstream-commit @@ -1 +1 @@ -c64aa0006e4a33d755a57a693cd81dc1ed95fa9d +9b9f7a007786b32a4c80f69ceb6753acdc8c2091