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 05c7c9dc..c6b45f87 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 @@ -1,18 +1,18 @@ -From 24c407828bf5606e25e2905dfb920556ec1347b8 Mon Sep 17 00:00:00 2001 +From 2cf5a014dcd6f85a1afa76ad8ca6c65f2c17db39 Mon Sep 17 00:00:00 2001 From: Paul Gofman Date: Tue, 14 Jul 2020 15:00:34 +0300 Subject: [PATCH] ntdll: Support x86_64 syscall emulation. --- configure.ac | 1 + - dlls/ntdll/unix/signal_x86_64.c | 192 ++++++++++++++++++++++++++++++++ - 2 files changed, 193 insertions(+) + dlls/ntdll/unix/signal_x86_64.c | 195 ++++++++++++++++++++++++++++++++ + 2 files changed, 196 insertions(+) diff --git a/configure.ac b/configure.ac -index bd655accac3..d581dbc1eae 100644 +index ef21a4313d4..db709285f79 100644 --- a/configure.ac +++ b/configure.ac -@@ -420,6 +420,7 @@ AC_CHECK_HEADERS(\ +@@ -384,6 +384,7 @@ AC_CHECK_HEADERS(\ linux/ioctl.h \ linux/major.h \ linux/param.h \ @@ -21,7 +21,7 @@ index bd655accac3..d581dbc1eae 100644 linux/types.h \ linux/ucdrom.h \ diff --git a/dlls/ntdll/unix/signal_x86_64.c b/dlls/ntdll/unix/signal_x86_64.c -index 0c291633ac6..a28762915be 100644 +index 537e4e1f60e..58397374ea4 100644 --- a/dlls/ntdll/unix/signal_x86_64.c +++ b/dlls/ntdll/unix/signal_x86_64.c @@ -27,6 +27,7 @@ @@ -56,7 +56,7 @@ index 0c291633ac6..a28762915be 100644 #include "ntstatus.h" #define WIN32_NO_STATUS #include "windef.h" -@@ -1783,6 +1794,186 @@ static inline DWORD is_privileged_instr( CONTEXT *context ) +@@ -1824,6 +1835,186 @@ static inline DWORD is_privileged_instr( CONTEXT *context ) return 0; } @@ -243,14 +243,21 @@ index 0c291633ac6..a28762915be 100644 /*********************************************************************** * handle_interrupt -@@ -2460,6 +2651,7 @@ void signal_init_process(void) +@@ -2560,10 +2751,14 @@ void signal_init_process(void) if (sigaction( SIGSEGV, &sig_act, NULL ) == -1) goto error; if (sigaction( SIGILL, &sig_act, NULL ) == -1) goto error; if (sigaction( SIGBUS, &sig_act, NULL ) == -1) goto error; ++ + #ifdef __APPLE__ + sig_act.sa_sigaction = sigsys_handler; + if (sigaction( SIGSYS, &sig_act, NULL ) == -1) goto error; + #endif ++ + install_bpf(&sig_act); ++ return; error: -- -2.43.0 +2.45.2 diff --git a/staging/upstream-commit b/staging/upstream-commit index 2838e2c9..b6ea589d 100644 --- a/staging/upstream-commit +++ b/staging/upstream-commit @@ -1 +1 @@ -eeabbe812ffc3ed7c06fc85cd63f0d85bffe207e +6db2812411d45ca4b4d15dea9a00577ea17b508e