From 3c8c7910e77ec128e09e31a70fa7341843ebb9ec Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Wed, 4 Aug 2021 09:18:47 +1000 Subject: [PATCH] Rebase against ccbb0eef7bcaae672e9f7f69d3a9cdce62574177. --- ...-the-direct-futex-path-for-condition.patch | 28 +++++++++---------- ...nt-SRW-locks-on-top-of-Win32-futexes.patch | 20 ++++++------- ...01-ntdll-Initialize-mod_name-to-zero.patch | 10 +++---- patches/patchinstall.sh | 2 +- staging/upstream-commit | 2 +- 5 files changed, 31 insertions(+), 31 deletions(-) diff --git a/patches/ntdll-NtAlertThreadByThreadId/0010-ntdll-Get-rid-of-the-direct-futex-path-for-condition.patch b/patches/ntdll-NtAlertThreadByThreadId/0010-ntdll-Get-rid-of-the-direct-futex-path-for-condition.patch index 2eb3ea94..57a4f38a 100644 --- a/patches/ntdll-NtAlertThreadByThreadId/0010-ntdll-Get-rid-of-the-direct-futex-path-for-condition.patch +++ b/patches/ntdll-NtAlertThreadByThreadId/0010-ntdll-Get-rid-of-the-direct-futex-path-for-condition.patch @@ -1,4 +1,4 @@ -From 0487d1a9007c970043397a02b787d6446722e15c Mon Sep 17 00:00:00 2001 +From e1e438f9089561a1fd7e80db9274c720be46b43b Mon Sep 17 00:00:00 2001 From: Zebediah Figura Date: Mon, 31 Aug 2020 23:55:29 -0500 Subject: [PATCH] ntdll: Get rid of the direct futex path for condition @@ -80,10 +80,10 @@ index 6edf104c5e9..4b92379a0ff 100644 if (flags & RTL_CONDITION_VARIABLE_LOCKMODE_SHARED) RtlAcquireSRWLockShared( lock ); diff --git a/dlls/ntdll/unix/loader.c b/dlls/ntdll/unix/loader.c -index 1fb2d79dc8e..73f22b83b3d 100644 +index 3cf19b16c4e..f1767f2b568 100644 --- a/dlls/ntdll/unix/loader.c +++ b/dlls/ntdll/unix/loader.c -@@ -1817,8 +1817,6 @@ static struct unix_funcs unix_funcs = +@@ -1876,8 +1876,6 @@ static struct unix_funcs unix_funcs = fast_RtlAcquireSRWLockShared, fast_RtlReleaseSRWLockExclusive, fast_RtlReleaseSRWLockShared, @@ -93,10 +93,10 @@ index 1fb2d79dc8e..73f22b83b3d 100644 ntdll_ceil, ntdll_cos, diff --git a/dlls/ntdll/unix/sync.c b/dlls/ntdll/unix/sync.c -index 302698dc5b6..45472a72ed8 100644 +index 42ac52c9704..99be558da12 100644 --- a/dlls/ntdll/unix/sync.c +++ b/dlls/ntdll/unix/sync.c -@@ -169,23 +169,6 @@ static int *get_futex(void **ptr) +@@ -170,23 +170,6 @@ static int *get_futex(void **ptr) return NULL; } @@ -120,7 +120,7 @@ index 302698dc5b6..45472a72ed8 100644 #endif -@@ -2749,50 +2732,6 @@ NTSTATUS CDECL fast_RtlReleaseSRWLockShared( RTL_SRWLOCK *lock ) +@@ -2842,50 +2825,6 @@ NTSTATUS CDECL fast_RtlReleaseSRWLockShared( RTL_SRWLOCK *lock ) return STATUS_SUCCESS; } @@ -171,7 +171,7 @@ index 302698dc5b6..45472a72ed8 100644 #else NTSTATUS CDECL fast_RtlTryAcquireSRWLockExclusive( RTL_SRWLOCK *lock ) -@@ -2825,14 +2764,4 @@ NTSTATUS CDECL fast_RtlReleaseSRWLockShared( RTL_SRWLOCK *lock ) +@@ -2918,14 +2857,4 @@ NTSTATUS CDECL fast_RtlReleaseSRWLockShared( RTL_SRWLOCK *lock ) return STATUS_NOT_IMPLEMENTED; } @@ -187,10 +187,10 @@ index 302698dc5b6..45472a72ed8 100644 - #endif diff --git a/dlls/ntdll/unix/unix_private.h b/dlls/ntdll/unix/unix_private.h -index bac75ac2d13..07ce95230f1 100644 +index a5d63e918cc..452eb2790ab 100644 --- a/dlls/ntdll/unix/unix_private.h +++ b/dlls/ntdll/unix/unix_private.h -@@ -103,10 +103,7 @@ extern NTSTATUS CDECL fast_RtlTryAcquireSRWLockShared( RTL_SRWLOCK *lock ) DECLS +@@ -102,10 +102,7 @@ extern NTSTATUS CDECL fast_RtlTryAcquireSRWLockShared( RTL_SRWLOCK *lock ) DECLS extern NTSTATUS CDECL fast_RtlAcquireSRWLockShared( RTL_SRWLOCK *lock ) DECLSPEC_HIDDEN; extern NTSTATUS CDECL fast_RtlReleaseSRWLockExclusive( RTL_SRWLOCK *lock ) DECLSPEC_HIDDEN; extern NTSTATUS CDECL fast_RtlReleaseSRWLockShared( RTL_SRWLOCK *lock ) DECLSPEC_HIDDEN; @@ -199,18 +199,18 @@ index bac75ac2d13..07ce95230f1 100644 -extern NTSTATUS CDECL fast_wait_cv( RTL_CONDITION_VARIABLE *variable, const void *value, - const LARGE_INTEGER *timeout ) DECLSPEC_HIDDEN; - extern void CDECL virtual_release_address_space(void) DECLSPEC_HIDDEN; - + extern NTSTATUS CDECL unwind_builtin_dll( ULONG type, struct _DISPATCHER_CONTEXT *dispatch, + CONTEXT *context ) DECLSPEC_HIDDEN; diff --git a/dlls/ntdll/unixlib.h b/dlls/ntdll/unixlib.h -index ca668995562..1fab653728c 100644 +index 94e0096089b..9d9842b4072 100644 --- a/dlls/ntdll/unixlib.h +++ b/dlls/ntdll/unixlib.h @@ -26,7 +26,7 @@ struct _DISPATCHER_CONTEXT; /* increment this when you change the function table */ --#define NTDLL_UNIXLIB_VERSION 123 -+#define NTDLL_UNIXLIB_VERSION 124 +-#define NTDLL_UNIXLIB_VERSION 125 ++#define NTDLL_UNIXLIB_VERSION 126 struct unix_funcs { diff --git a/patches/ntdll-NtAlertThreadByThreadId/0011-ntdll-Reimplement-SRW-locks-on-top-of-Win32-futexes.patch b/patches/ntdll-NtAlertThreadByThreadId/0011-ntdll-Reimplement-SRW-locks-on-top-of-Win32-futexes.patch index 9f52ba46..a4b884e9 100644 --- a/patches/ntdll-NtAlertThreadByThreadId/0011-ntdll-Reimplement-SRW-locks-on-top-of-Win32-futexes.patch +++ b/patches/ntdll-NtAlertThreadByThreadId/0011-ntdll-Reimplement-SRW-locks-on-top-of-Win32-futexes.patch @@ -1,4 +1,4 @@ -From 10e7bf638ebb34278c5fe3adcb360556aa73d999 Mon Sep 17 00:00:00 2001 +From 8071d356061b69182746fda71ec9f1b0e9a40e3d Mon Sep 17 00:00:00 2001 From: Zebediah Figura Date: Sun, 22 Nov 2020 20:51:10 -0600 Subject: [PATCH] ntdll: Reimplement SRW locks on top of Win32 futexes. @@ -392,10 +392,10 @@ index 4b92379a0ff..2edc9f8d558 100644 /*********************************************************************** diff --git a/dlls/ntdll/unix/loader.c b/dlls/ntdll/unix/loader.c -index 5b2619ff92f..c6f9227dd90 100644 +index f1767f2b568..99268914734 100644 --- a/dlls/ntdll/unix/loader.c +++ b/dlls/ntdll/unix/loader.c -@@ -1872,12 +1872,6 @@ static struct unix_funcs unix_funcs = +@@ -1870,12 +1870,6 @@ static struct unix_funcs unix_funcs = #endif DbgUiIssueRemoteBreakin, RtlGetSystemTimePrecise, @@ -409,7 +409,7 @@ index 5b2619ff92f..c6f9227dd90 100644 ntdll_ceil, ntdll_cos, diff --git a/dlls/ntdll/unix/sync.c b/dlls/ntdll/unix/sync.c -index 45b0b03bda0..82094813570 100644 +index 99be558da12..5a82cf7e539 100644 --- a/dlls/ntdll/unix/sync.c +++ b/dlls/ntdll/unix/sync.c @@ -118,8 +118,6 @@ static inline ULONGLONG monotonic_counter(void) @@ -455,7 +455,7 @@ index 45b0b03bda0..82094813570 100644 #endif -@@ -2535,289 +2513,3 @@ NTSTATUS WINAPI NtWaitForAlertByThreadId( const void *address, const LARGE_INTEG +@@ -2572,289 +2550,3 @@ NTSTATUS WINAPI NtWaitForAlertByThreadId( const void *address, const LARGE_INTEG } #endif @@ -746,7 +746,7 @@ index 45b0b03bda0..82094813570 100644 - -#endif diff --git a/dlls/ntdll/unix/unix_private.h b/dlls/ntdll/unix/unix_private.h -index 2f642ed77f7..9e500b3dc95 100644 +index 452eb2790ab..8f85eb5ebc6 100644 --- a/dlls/ntdll/unix/unix_private.h +++ b/dlls/ntdll/unix/unix_private.h @@ -96,12 +96,6 @@ extern void (WINAPI *pLdrInitializeThunk)(CONTEXT*,void**,ULONG_PTR,ULONG_PT @@ -761,17 +761,17 @@ index 2f642ed77f7..9e500b3dc95 100644 -extern NTSTATUS CDECL fast_RtlReleaseSRWLockShared( RTL_SRWLOCK *lock ) DECLSPEC_HIDDEN; extern LONGLONG CDECL fast_RtlGetSystemTimePrecise(void) DECLSPEC_HIDDEN; - extern void CDECL virtual_release_address_space(void) DECLSPEC_HIDDEN; + extern NTSTATUS CDECL unwind_builtin_dll( ULONG type, struct _DISPATCHER_CONTEXT *dispatch, diff --git a/dlls/ntdll/unixlib.h b/dlls/ntdll/unixlib.h -index e90000c13e9..742f1a7b681 100644 +index 9d9842b4072..4aaa20d1795 100644 --- a/dlls/ntdll/unixlib.h +++ b/dlls/ntdll/unixlib.h @@ -26,7 +26,7 @@ struct _DISPATCHER_CONTEXT; /* increment this when you change the function table */ --#define NTDLL_UNIXLIB_VERSION 124 -+#define NTDLL_UNIXLIB_VERSION 125 +-#define NTDLL_UNIXLIB_VERSION 126 ++#define NTDLL_UNIXLIB_VERSION 127 struct unix_funcs { diff --git a/patches/ntdll-Zero_mod_name/0001-ntdll-Initialize-mod_name-to-zero.patch b/patches/ntdll-Zero_mod_name/0001-ntdll-Initialize-mod_name-to-zero.patch index 0f4a4abf..dfc0d540 100644 --- a/patches/ntdll-Zero_mod_name/0001-ntdll-Initialize-mod_name-to-zero.patch +++ b/patches/ntdll-Zero_mod_name/0001-ntdll-Initialize-mod_name-to-zero.patch @@ -1,4 +1,4 @@ -From d1536aa5b9df87c3764dc2090bdde76f708fda94 Mon Sep 17 00:00:00 2001 +From f15d4797f17e6b45056fd1d211f54d4810c31e67 Mon Sep 17 00:00:00 2001 From: Qian Hong Date: Wed, 9 Sep 2015 05:31:18 +0800 Subject: [PATCH] ntdll: Initialize mod_name to zero. @@ -8,11 +8,11 @@ Subject: [PATCH] ntdll: Initialize mod_name to zero. 1 file changed, 2 insertions(+) diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c -index 42cdc628021..ef1e28af2e7 100644 +index f9dd2e8c61a..ba43de24576 100644 --- a/dlls/ntdll/loader.c +++ b/dlls/ntdll/loader.c -@@ -1299,6 +1299,8 @@ static NTSTATUS MODULE_InitDLL( WINE_MODREF *wm, UINT reason, LPVOID lpReserved - unix_funcs->init_builtin_dll( wm->ldr.DllBase ); +@@ -1424,6 +1424,8 @@ static NTSTATUS MODULE_InitDLL( WINE_MODREF *wm, UINT reason, LPVOID lpReserved + init_builtin_dll( wm->ldr.DllBase ); if (!entry) return STATUS_SUCCESS; + memset( mod_name, 0, sizeof(mod_name) ); @@ -21,5 +21,5 @@ index 42cdc628021..ef1e28af2e7 100644 { size_t len = min( wm->ldr.BaseDllName.Length, sizeof(mod_name)-sizeof(WCHAR) ); -- -2.27.0 +2.30.2 diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 25509e71..ce13d7ea 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -51,7 +51,7 @@ usage() # Get the upstream commit sha upstream_commit() { - echo "7bedd313c88d7b1fd4fe7b04c20bb0ec91605cac" + echo "ccbb0eef7bcaae672e9f7f69d3a9cdce62574177" } # Show version information diff --git a/staging/upstream-commit b/staging/upstream-commit index 16f22c62..f7ecc760 100644 --- a/staging/upstream-commit +++ b/staging/upstream-commit @@ -1 +1 @@ -10fb33026f2a55209dea0fb00caa279610027a0f +ccbb0eef7bcaae672e9f7f69d3a9cdce62574177