Rebase against 7c62e6b169f18f4a5d5809490f8aebdb5a9375eb.

This commit is contained in:
Zebediah Figura
2021-03-30 17:06:03 -05:00
parent 2e42e7d996
commit d90a798a26
8 changed files with 55 additions and 61 deletions

View File

@@ -1,4 +1,4 @@
From 65673c61b09de27189b5f319073e6807d8dbed9e Mon Sep 17 00:00:00 2001
From b41fc553cecc9ba5c81cda41bb85e2ee1937586e Mon Sep 17 00:00:00 2001
From: Zebediah Figura <z.figura12@gmail.com>
Date: Mon, 2 Nov 2020 20:24:07 -0600
Subject: [PATCH] ntdll: Reimplement Win32 futexes on top of thread-ID alerts.
@@ -261,10 +261,10 @@ index 25496609f08..4f395336428 100644
}
diff --git a/dlls/ntdll/unix/loader.c b/dlls/ntdll/unix/loader.c
index 438ff474a92..a962eb46ead 100644
index 4c76865019b..d7fc60cad2f 100644
--- a/dlls/ntdll/unix/loader.c
+++ b/dlls/ntdll/unix/loader.c
@@ -1757,9 +1757,6 @@ static struct unix_funcs unix_funcs =
@@ -1753,9 +1753,6 @@ static struct unix_funcs unix_funcs =
#endif
DbgUiIssueRemoteBreakin,
RtlGetSystemTimePrecise,
@@ -467,19 +467,19 @@ index 7d6423083e1..41005425a90 100644
- mutex_unlock( &addr_mutex );
-}
diff --git a/dlls/ntdll/unixlib.h b/dlls/ntdll/unixlib.h
index 80e4eaefc75..72d115a556b 100644
index 04ae8230b1a..21e34842778 100644
--- a/dlls/ntdll/unixlib.h
+++ b/dlls/ntdll/unixlib.h
@@ -37,7 +37,7 @@ enum loadorder
};
@@ -26,7 +26,7 @@
struct _DISPATCHER_CONTEXT;
/* increment this when you change the function table */
-#define NTDLL_UNIXLIB_VERSION 119
+#define NTDLL_UNIXLIB_VERSION 120
-#define NTDLL_UNIXLIB_VERSION 120
+#define NTDLL_UNIXLIB_VERSION 121
struct unix_funcs
{
@@ -49,10 +49,6 @@ struct unix_funcs
@@ -38,10 +38,6 @@ struct unix_funcs
/* other Win32 API functions */
NTSTATUS (WINAPI *DbgUiIssueRemoteBreakin)( HANDLE process );
LONGLONG (WINAPI *RtlGetSystemTimePrecise)(void);

View File

@@ -1,4 +1,4 @@
From fd2100138729eece59f3af37c59ee6b166085cc6 Mon Sep 17 00:00:00 2001
From 7ac2eff4652e8ce16550c27b2378e2dc64d54122 Mon Sep 17 00:00:00 2001
From: Zebediah Figura <z.figura12@gmail.com>
Date: Mon, 31 Aug 2020 23:38:09 -0500
Subject: [PATCH] ntdll: Reimplement the critical section fast path on top of
@@ -83,10 +83,10 @@ index 09975ac3d45..97a5ce7fffa 100644
return ret;
}
diff --git a/dlls/ntdll/unix/loader.c b/dlls/ntdll/unix/loader.c
index a962eb46ead..6748c89ccac 100644
index d7fc60cad2f..fe710e9d1f5 100644
--- a/dlls/ntdll/unix/loader.c
+++ b/dlls/ntdll/unix/loader.c
@@ -1757,9 +1757,6 @@ static struct unix_funcs unix_funcs =
@@ -1753,9 +1753,6 @@ static struct unix_funcs unix_funcs =
#endif
DbgUiIssueRemoteBreakin,
RtlGetSystemTimePrecise,
@@ -217,7 +217,7 @@ index 41005425a90..6b97028fb68 100644
/* Futex-based SRW lock implementation:
diff --git a/dlls/ntdll/unix/unix_private.h b/dlls/ntdll/unix/unix_private.h
index 8d80b824d28..8141554a7cd 100644
index 923b888ce68..1524a532a88 100644
--- a/dlls/ntdll/unix/unix_private.h
+++ b/dlls/ntdll/unix/unix_private.h
@@ -105,9 +105,6 @@ extern void (WINAPI *pKiUserApcDispatcher)(CONTEXT*,ULONG_PTR,ULONG_PTR,ULON
@@ -231,19 +231,19 @@ index 8d80b824d28..8141554a7cd 100644
extern NTSTATUS CDECL fast_RtlAcquireSRWLockExclusive( RTL_SRWLOCK *lock ) DECLSPEC_HIDDEN;
extern NTSTATUS CDECL fast_RtlTryAcquireSRWLockShared( RTL_SRWLOCK *lock ) DECLSPEC_HIDDEN;
diff --git a/dlls/ntdll/unixlib.h b/dlls/ntdll/unixlib.h
index 72d115a556b..d7c880eda04 100644
index 21e34842778..c67daa389a3 100644
--- a/dlls/ntdll/unixlib.h
+++ b/dlls/ntdll/unixlib.h
@@ -37,7 +37,7 @@ enum loadorder
};
@@ -26,7 +26,7 @@
struct _DISPATCHER_CONTEXT;
/* increment this when you change the function table */
-#define NTDLL_UNIXLIB_VERSION 120
+#define NTDLL_UNIXLIB_VERSION 121
-#define NTDLL_UNIXLIB_VERSION 121
+#define NTDLL_UNIXLIB_VERSION 122
struct unix_funcs
{
@@ -51,9 +51,6 @@ struct unix_funcs
@@ -40,9 +40,6 @@ struct unix_funcs
LONGLONG (WINAPI *RtlGetSystemTimePrecise)(void);
/* fast locks */

View File

@@ -1,4 +1,4 @@
From 6409c2d12ba290c5bb8c4335988bc144d08b35b7 Mon Sep 17 00:00:00 2001
From 65b24120d7a4bb05712bcb559d55a30d5a498002 Mon Sep 17 00:00:00 2001
From: Zebediah Figura <z.figura12@gmail.com>
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 97a5ce7fffa..1e6afc4cfc8 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 6748c89ccac..81d8476e4c6 100644
index fe710e9d1f5..36899ba57e3 100644
--- a/dlls/ntdll/unix/loader.c
+++ b/dlls/ntdll/unix/loader.c
@@ -1763,8 +1763,6 @@ static struct unix_funcs unix_funcs =
@@ -1759,8 +1759,6 @@ static struct unix_funcs unix_funcs =
fast_RtlAcquireSRWLockShared,
fast_RtlReleaseSRWLockExclusive,
fast_RtlReleaseSRWLockShared,
@@ -187,7 +187,7 @@ index 6b97028fb68..d4092438644 100644
-
#endif
diff --git a/dlls/ntdll/unix/unix_private.h b/dlls/ntdll/unix/unix_private.h
index 8141554a7cd..a22e7bdd4f4 100644
index 1524a532a88..91b6451ade1 100644
--- a/dlls/ntdll/unix/unix_private.h
+++ b/dlls/ntdll/unix/unix_private.h
@@ -111,10 +111,7 @@ extern NTSTATUS CDECL fast_RtlTryAcquireSRWLockShared( RTL_SRWLOCK *lock ) DECLS
@@ -202,19 +202,19 @@ index 8141554a7cd..a22e7bdd4f4 100644
extern void CDECL virtual_release_address_space(void) DECLSPEC_HIDDEN;
diff --git a/dlls/ntdll/unixlib.h b/dlls/ntdll/unixlib.h
index d7c880eda04..8518c7fba13 100644
index c67daa389a3..b0914d3f97e 100644
--- a/dlls/ntdll/unixlib.h
+++ b/dlls/ntdll/unixlib.h
@@ -37,7 +37,7 @@ enum loadorder
};
@@ -26,7 +26,7 @@
struct _DISPATCHER_CONTEXT;
/* increment this when you change the function table */
-#define NTDLL_UNIXLIB_VERSION 121
+#define NTDLL_UNIXLIB_VERSION 122
-#define NTDLL_UNIXLIB_VERSION 122
+#define NTDLL_UNIXLIB_VERSION 123
struct unix_funcs
{
@@ -57,9 +57,6 @@ struct unix_funcs
@@ -46,9 +46,6 @@ struct unix_funcs
NTSTATUS (CDECL *fast_RtlAcquireSRWLockShared)( RTL_SRWLOCK *lock );
NTSTATUS (CDECL *fast_RtlReleaseSRWLockExclusive)( RTL_SRWLOCK *lock );
NTSTATUS (CDECL *fast_RtlReleaseSRWLockShared)( RTL_SRWLOCK *lock );

View File

@@ -1,4 +1,4 @@
From cf50bc7987a6449ada2c801a78697c6299ffb07c Mon Sep 17 00:00:00 2001
From ddc8ae251a344ad7e7e11844b03fe0eaaa553084 Mon Sep 17 00:00:00 2001
From: Zebediah Figura <z.figura12@gmail.com>
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 1e6afc4cfc8..93a6a5fd7de 100644
/***********************************************************************
diff --git a/dlls/ntdll/unix/loader.c b/dlls/ntdll/unix/loader.c
index 81d8476e4c6..575cc38d5f9 100644
index 36899ba57e3..6a7eb5d7af1 100644
--- a/dlls/ntdll/unix/loader.c
+++ b/dlls/ntdll/unix/loader.c
@@ -1757,12 +1757,6 @@ static struct unix_funcs unix_funcs =
@@ -1753,12 +1753,6 @@ static struct unix_funcs unix_funcs =
#endif
DbgUiIssueRemoteBreakin,
RtlGetSystemTimePrecise,
@@ -747,7 +747,7 @@ index d4092438644..b67f5fc8f10 100644
-
-#endif
diff --git a/dlls/ntdll/unix/unix_private.h b/dlls/ntdll/unix/unix_private.h
index a22e7bdd4f4..cf7b194a14b 100644
index 91b6451ade1..ffce7328600 100644
--- a/dlls/ntdll/unix/unix_private.h
+++ b/dlls/ntdll/unix/unix_private.h
@@ -105,12 +105,6 @@ extern void (WINAPI *pKiUserApcDispatcher)(CONTEXT*,ULONG_PTR,ULONG_PTR,ULON
@@ -764,19 +764,19 @@ index a22e7bdd4f4..cf7b194a14b 100644
extern void CDECL virtual_release_address_space(void) DECLSPEC_HIDDEN;
diff --git a/dlls/ntdll/unixlib.h b/dlls/ntdll/unixlib.h
index 8518c7fba13..650efb7f5e0 100644
index b0914d3f97e..fd6c1198e99 100644
--- a/dlls/ntdll/unixlib.h
+++ b/dlls/ntdll/unixlib.h
@@ -37,7 +37,7 @@ enum loadorder
};
@@ -26,7 +26,7 @@
struct _DISPATCHER_CONTEXT;
/* increment this when you change the function table */
-#define NTDLL_UNIXLIB_VERSION 122
+#define NTDLL_UNIXLIB_VERSION 123
-#define NTDLL_UNIXLIB_VERSION 123
+#define NTDLL_UNIXLIB_VERSION 124
struct unix_funcs
{
@@ -50,14 +50,6 @@ struct unix_funcs
@@ -39,14 +39,6 @@ struct unix_funcs
NTSTATUS (WINAPI *DbgUiIssueRemoteBreakin)( HANDLE process );
LONGLONG (WINAPI *RtlGetSystemTimePrecise)(void);