mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-01-28 22:04:43 -08:00
Rebase against a9c8196e97ec255f4f69d005ea1cbf8fcf2537e8.
This commit is contained in:
parent
3b5ea332d6
commit
4046ffe6c9
@ -1,190 +0,0 @@
|
||||
From 1de55db4e9e0412f144ae9e675c4f419b0d2e3da Mon Sep 17 00:00:00 2001
|
||||
From: Bernhard Reiter <ockham@raz.or.at>
|
||||
Date: Wed, 9 Apr 2014 00:52:31 +0200
|
||||
Subject: imagehlp: Implement parts of BindImageEx to make freezing Python
|
||||
scripts work.
|
||||
|
||||
Fixes http://bugs.winehq.org/show_bug.cgi?id=3591
|
||||
---
|
||||
dlls/imagehlp/modify.c | 111 +++++++++++++++++++++++++++++++++++++++++---
|
||||
dlls/imagehlp/tests/image.c | 18 +++----
|
||||
2 files changed, 114 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/dlls/imagehlp/modify.c b/dlls/imagehlp/modify.c
|
||||
index debccc0..4ac3248 100644
|
||||
--- a/dlls/imagehlp/modify.c
|
||||
+++ b/dlls/imagehlp/modify.c
|
||||
@@ -31,9 +31,11 @@ WINE_DEFAULT_DEBUG_CHANNEL(imagehlp);
|
||||
|
||||
static WORD CalcCheckSum(DWORD StartValue, LPVOID BaseAddress, DWORD WordCount);
|
||||
|
||||
-
|
||||
/***********************************************************************
|
||||
* BindImage (IMAGEHLP.@)
|
||||
+ *
|
||||
+ * NOTES
|
||||
+ * See BindImageEx
|
||||
*/
|
||||
BOOL WINAPI BindImage(
|
||||
PCSTR ImageName, PCSTR DllPath, PCSTR SymbolPath)
|
||||
@@ -43,16 +45,113 @@ BOOL WINAPI BindImage(
|
||||
|
||||
/***********************************************************************
|
||||
* BindImageEx (IMAGEHLP.@)
|
||||
+ *
|
||||
+ * Compute the virtual address of each function imported by a PE image
|
||||
+ *
|
||||
+ * PARAMS
|
||||
+ *
|
||||
+ * Flags [in] Bind options
|
||||
+ * ImageName [in] File name of the image to be bound
|
||||
+ * DllPath [in] Root of the fallback search path in case the ImageName file cannot be opened
|
||||
+ * SymbolPath [in] Symbol file root search path
|
||||
+ * StatusRoutine [in] Pointer to a status routine which will be called during the binding process
|
||||
+ *
|
||||
+ * RETURNS
|
||||
+ * Success: TRUE
|
||||
+ * Failure: FALSE
|
||||
+ *
|
||||
+ * NOTES
|
||||
+ * Binding is not implemented yet, so far this function only enumerates
|
||||
+ * all imported dlls/functions and returns TRUE.
|
||||
*/
|
||||
BOOL WINAPI BindImageEx(
|
||||
DWORD Flags, PCSTR ImageName, PCSTR DllPath, PCSTR SymbolPath,
|
||||
PIMAGEHLP_STATUS_ROUTINE StatusRoutine)
|
||||
{
|
||||
- FIXME("(%d, %s, %s, %s, %p): stub\n",
|
||||
- Flags, debugstr_a(ImageName), debugstr_a(DllPath),
|
||||
- debugstr_a(SymbolPath), StatusRoutine
|
||||
- );
|
||||
- return TRUE;
|
||||
+ LOADED_IMAGE loaded_image;
|
||||
+ const IMAGE_IMPORT_DESCRIPTOR *import_desc;
|
||||
+ ULONG size;
|
||||
+
|
||||
+ FIXME("(%d, %s, %s, %s, %p): semi-stub\n",
|
||||
+ Flags, debugstr_a(ImageName), debugstr_a(DllPath),
|
||||
+ debugstr_a(SymbolPath), StatusRoutine
|
||||
+ );
|
||||
+
|
||||
+ if (!(MapAndLoad(ImageName, DllPath, &loaded_image, TRUE, TRUE))) return FALSE;
|
||||
+
|
||||
+ if (!(import_desc = RtlImageDirectoryEntryToData((HMODULE)loaded_image.MappedAddress, FALSE,
|
||||
+ IMAGE_DIRECTORY_ENTRY_IMPORT, &size)))
|
||||
+ {
|
||||
+ UnMapAndLoad(&loaded_image);
|
||||
+ return TRUE; /* No imported modules means nothing to bind, so we're done. */
|
||||
+ }
|
||||
+
|
||||
+ /* FIXME: Does native imagehlp support both 32-bit and 64-bit PE executables? */
|
||||
+#ifdef _WIN64
|
||||
+ if (loaded_image.FileHeader->OptionalHeader.Magic != IMAGE_NT_OPTIONAL_HDR64_MAGIC)
|
||||
+#else
|
||||
+ if (loaded_image.FileHeader->OptionalHeader.Magic != IMAGE_NT_OPTIONAL_HDR32_MAGIC)
|
||||
+#endif
|
||||
+ {
|
||||
+ FIXME("Wrong architecture in PE header, unable to enumerate imports\n");
|
||||
+ UnMapAndLoad(&loaded_image);
|
||||
+ return TRUE;
|
||||
+ }
|
||||
+
|
||||
+ for (; import_desc->Name && import_desc->FirstThunk; ++import_desc)
|
||||
+ {
|
||||
+ IMAGE_THUNK_DATA *thunk;
|
||||
+ char dll_fullname[MAX_PATH];
|
||||
+ const char *dll_name;
|
||||
+
|
||||
+ if (!(dll_name = ImageRvaToVa(loaded_image.FileHeader, loaded_image.MappedAddress,
|
||||
+ import_desc->Name, 0)))
|
||||
+ {
|
||||
+ UnMapAndLoad(&loaded_image);
|
||||
+ SetLastError(ERROR_INVALID_ACCESS); /* FIXME */
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+
|
||||
+ if (StatusRoutine)
|
||||
+ StatusRoutine(BindImportModule, ImageName, dll_name, 0, 0);
|
||||
+
|
||||
+ if (!SearchPathA(DllPath, dll_name, 0, sizeof(dll_fullname), dll_fullname, 0))
|
||||
+ {
|
||||
+ UnMapAndLoad(&loaded_image);
|
||||
+ SetLastError(ERROR_FILE_NOT_FOUND);
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+
|
||||
+ if (!(thunk = ImageRvaToVa(loaded_image.FileHeader, loaded_image.MappedAddress,
|
||||
+ import_desc->OriginalFirstThunk ? import_desc->OriginalFirstThunk :
|
||||
+ import_desc->FirstThunk, 0)))
|
||||
+ {
|
||||
+ ERR("Can't grab thunk data of %s, going to next imported DLL\n", dll_name);
|
||||
+ continue;
|
||||
+ }
|
||||
+
|
||||
+ for (; thunk->u1.Ordinal; ++thunk)
|
||||
+ {
|
||||
+ /* Ignoring ordinal imports for now */
|
||||
+ if(!IMAGE_SNAP_BY_ORDINAL(thunk->u1.Ordinal))
|
||||
+ {
|
||||
+ IMAGE_IMPORT_BY_NAME *iibn;
|
||||
+
|
||||
+ if (!(iibn = ImageRvaToVa(loaded_image.FileHeader, loaded_image.MappedAddress,
|
||||
+ thunk->u1.AddressOfData, 0)))
|
||||
+ {
|
||||
+ ERR("Can't grab import by name info, skipping to next ordinal\n");
|
||||
+ continue;
|
||||
+ }
|
||||
+
|
||||
+ if (StatusRoutine)
|
||||
+ StatusRoutine(BindImportProcedure, ImageName, dll_fullname, 0, (ULONG_PTR)iibn->Name);
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ UnMapAndLoad(&loaded_image);
|
||||
+ return TRUE;
|
||||
}
|
||||
|
||||
|
||||
diff --git a/dlls/imagehlp/tests/image.c b/dlls/imagehlp/tests/image.c
|
||||
index 48443f5..4a19c16 100644
|
||||
--- a/dlls/imagehlp/tests/image.c
|
||||
+++ b/dlls/imagehlp/tests/image.c
|
||||
@@ -390,10 +390,10 @@ static void test_bind_image_ex(void)
|
||||
SetLastError(0xdeadbeef);
|
||||
ret = pBindImageEx(BIND_NO_BOUND_IMPORTS | BIND_NO_UPDATE | BIND_ALL_IMAGES, "nonexistent.dll", 0, 0,
|
||||
testing_status_routine);
|
||||
- todo_wine ok(!ret && ((GetLastError() == ERROR_FILE_NOT_FOUND) ||
|
||||
- (GetLastError() == ERROR_INVALID_PARAMETER)),
|
||||
- "expected ERROR_FILE_NOT_FOUND or ERROR_INVALID_PARAMETER, got %d\n",
|
||||
- GetLastError());
|
||||
+ ok(!ret && ((GetLastError() == ERROR_FILE_NOT_FOUND) ||
|
||||
+ (GetLastError() == ERROR_INVALID_PARAMETER)),
|
||||
+ "expected ERROR_FILE_NOT_FOUND or ERROR_INVALID_PARAMETER, got %d\n",
|
||||
+ GetLastError());
|
||||
|
||||
file = create_temp_file(temp_file);
|
||||
if (file == INVALID_HANDLE_VALUE)
|
||||
@@ -415,14 +415,14 @@ static void test_bind_image_ex(void)
|
||||
testing_status_routine);
|
||||
ok(ret, "BindImageEx failed: %d\n", GetLastError());
|
||||
|
||||
- todo_wine ok(status_routine_called[BindImportModule] == 1,
|
||||
- "StatusRoutine was called %d times\n", status_routine_called[BindImportModule]);
|
||||
+ ok(status_routine_called[BindImportModule] == 1,
|
||||
+ "StatusRoutine was called %d times\n", status_routine_called[BindImportModule]);
|
||||
|
||||
- todo_wine ok((status_routine_called[BindImportProcedure] == 1)
|
||||
+ ok((status_routine_called[BindImportProcedure] == 1)
|
||||
#if defined(_WIN64)
|
||||
- || broken(status_routine_called[BindImportProcedure] == 0) /* < Win8 */
|
||||
+ || broken(status_routine_called[BindImportProcedure] == 0) /* < Win8 */
|
||||
#endif
|
||||
- , "StatusRoutine was called %d times\n", status_routine_called[BindImportProcedure]);
|
||||
+ , "StatusRoutine was called %d times\n", status_routine_called[BindImportProcedure]);
|
||||
|
||||
DeleteFileA(temp_file);
|
||||
}
|
||||
--
|
||||
2.1.2
|
||||
|
@ -1 +0,0 @@
|
||||
Fixes: [3591] Support for BindImageEx
|
@ -1,4 +1,4 @@
|
||||
From d44f0a6e60f59ea4ca6ba91e4cd3b0e81a99cb20 Mon Sep 17 00:00:00 2001
|
||||
From 62eb66a1663351f80ed81f835d9d21c6f2549443 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.
|
||||
@ -10,8 +10,8 @@ Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
|
||||
dlls/ntdll/thread.c | 2 +
|
||||
dlls/ntdll/unix/loader.c | 3 -
|
||||
dlls/ntdll/unix/sync.c | 162 ----------------------------------
|
||||
dlls/ntdll/unixlib.h | 6 +-
|
||||
6 files changed, 187 insertions(+), 173 deletions(-)
|
||||
dlls/ntdll/unixlib.h | 4 -
|
||||
6 files changed, 186 insertions(+), 172 deletions(-)
|
||||
|
||||
diff --git a/dlls/ntdll/ntdll_misc.h b/dlls/ntdll/ntdll_misc.h
|
||||
index e0d371e4c54..8fc5e54e4a4 100644
|
||||
@ -261,10 +261,10 @@ index 425e8770294..bc308e17bee 100644
|
||||
}
|
||||
|
||||
diff --git a/dlls/ntdll/unix/loader.c b/dlls/ntdll/unix/loader.c
|
||||
index bfbdfa1a5c4..5d59d2684b8 100644
|
||||
index 2ee67588df8..465ab427469 100644
|
||||
--- a/dlls/ntdll/unix/loader.c
|
||||
+++ b/dlls/ntdll/unix/loader.c
|
||||
@@ -1583,9 +1583,6 @@ static struct unix_funcs unix_funcs =
|
||||
@@ -1584,9 +1584,6 @@ static struct unix_funcs unix_funcs =
|
||||
#endif
|
||||
DbgUiIssueRemoteBreakin,
|
||||
RtlGetSystemTimePrecise,
|
||||
@ -467,18 +467,9 @@ index 86b9b3a4978..0ea8e28613c 100644
|
||||
- mutex_unlock( &addr_mutex );
|
||||
-}
|
||||
diff --git a/dlls/ntdll/unixlib.h b/dlls/ntdll/unixlib.h
|
||||
index ed78d08559a..cd890152230 100644
|
||||
index 8dc42320f18..20f9a19ff8d 100644
|
||||
--- a/dlls/ntdll/unixlib.h
|
||||
+++ b/dlls/ntdll/unixlib.h
|
||||
@@ -27,7 +27,7 @@
|
||||
struct _DISPATCHER_CONTEXT;
|
||||
|
||||
/* increment this when you change the function table */
|
||||
-#define NTDLL_UNIXLIB_VERSION 108
|
||||
+#define NTDLL_UNIXLIB_VERSION 109
|
||||
|
||||
struct unix_funcs
|
||||
{
|
||||
@@ -39,10 +39,6 @@ struct unix_funcs
|
||||
/* other Win32 API functions */
|
||||
NTSTATUS (WINAPI *DbgUiIssueRemoteBreakin)( HANDLE process );
|
||||
|
@ -1,4 +1,4 @@
|
||||
From c9d5f5826099aa1f80e1aa491912ac291115ebe0 Mon Sep 17 00:00:00 2001
|
||||
From 5e83a08f11243c8aeb90ef324ae1564994c4bb73 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
|
||||
@ -10,8 +10,8 @@ Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
|
||||
dlls/ntdll/unix/loader.c | 3 -
|
||||
dlls/ntdll/unix/sync.c | 109 ---------------------------------
|
||||
dlls/ntdll/unix/unix_private.h | 3 -
|
||||
dlls/ntdll/unixlib.h | 5 +-
|
||||
5 files changed, 24 insertions(+), 131 deletions(-)
|
||||
dlls/ntdll/unixlib.h | 3 -
|
||||
5 files changed, 23 insertions(+), 130 deletions(-)
|
||||
|
||||
diff --git a/dlls/ntdll/sync.c b/dlls/ntdll/sync.c
|
||||
index 66f807636c7..5bd093e42f5 100644
|
||||
@ -83,10 +83,10 @@ index 66f807636c7..5bd093e42f5 100644
|
||||
return ret;
|
||||
}
|
||||
diff --git a/dlls/ntdll/unix/loader.c b/dlls/ntdll/unix/loader.c
|
||||
index 585b30ea21b..5784359668e 100644
|
||||
index 465ab427469..2a67f0750a0 100644
|
||||
--- a/dlls/ntdll/unix/loader.c
|
||||
+++ b/dlls/ntdll/unix/loader.c
|
||||
@@ -1582,9 +1582,6 @@ static struct unix_funcs unix_funcs =
|
||||
@@ -1584,9 +1584,6 @@ static struct unix_funcs unix_funcs =
|
||||
#endif
|
||||
DbgUiIssueRemoteBreakin,
|
||||
RtlGetSystemTimePrecise,
|
||||
@ -97,10 +97,10 @@ index 585b30ea21b..5784359668e 100644
|
||||
fast_RtlAcquireSRWLockExclusive,
|
||||
fast_RtlTryAcquireSRWLockShared,
|
||||
diff --git a/dlls/ntdll/unix/sync.c b/dlls/ntdll/unix/sync.c
|
||||
index 39766a88e20..8ff468d7a13 100644
|
||||
index 0ea8e28613c..8e24d7aecd5 100644
|
||||
--- a/dlls/ntdll/unix/sync.c
|
||||
+++ b/dlls/ntdll/unix/sync.c
|
||||
@@ -2412,115 +2412,6 @@ NTSTATUS WINAPI NtWaitForAlertByThreadId( const void *address, const LARGE_INTEG
|
||||
@@ -2468,115 +2468,6 @@ NTSTATUS WINAPI NtWaitForAlertByThreadId( const void *address, const LARGE_INTEG
|
||||
}
|
||||
|
||||
|
||||
@ -217,10 +217,10 @@ index 39766a88e20..8ff468d7a13 100644
|
||||
|
||||
/* Futex-based SRW lock implementation:
|
||||
diff --git a/dlls/ntdll/unix/unix_private.h b/dlls/ntdll/unix/unix_private.h
|
||||
index 935a0a2894c..4686bf1b269 100644
|
||||
index cfcf99423c3..bf94dddb212 100644
|
||||
--- a/dlls/ntdll/unix/unix_private.h
|
||||
+++ b/dlls/ntdll/unix/unix_private.h
|
||||
@@ -97,9 +97,6 @@ extern void (WINAPI *pKiUserApcDispatcher)(CONTEXT*,ULONG_PTR,ULONG_PTR,ULON
|
||||
@@ -99,9 +99,6 @@ extern void (WINAPI *pKiUserApcDispatcher)(CONTEXT*,ULONG_PTR,ULONG_PTR,ULON
|
||||
extern NTSTATUS (WINAPI *pKiUserExceptionDispatcher)(EXCEPTION_RECORD*,CONTEXT*) DECLSPEC_HIDDEN;
|
||||
extern void (WINAPI *pLdrInitializeThunk)(CONTEXT*,void**,ULONG_PTR,ULONG_PTR) DECLSPEC_HIDDEN;
|
||||
extern void (WINAPI *pRtlUserThreadStart)( PRTL_THREAD_START_ROUTINE entry, void *arg ) DECLSPEC_HIDDEN;
|
||||
@ -231,18 +231,9 @@ index 935a0a2894c..4686bf1b269 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 cd890152230..99415e1c412 100644
|
||||
index 20f9a19ff8d..a18526de013 100644
|
||||
--- a/dlls/ntdll/unixlib.h
|
||||
+++ b/dlls/ntdll/unixlib.h
|
||||
@@ -27,7 +27,7 @@
|
||||
struct _DISPATCHER_CONTEXT;
|
||||
|
||||
/* increment this when you change the function table */
|
||||
-#define NTDLL_UNIXLIB_VERSION 109
|
||||
+#define NTDLL_UNIXLIB_VERSION 110
|
||||
|
||||
struct unix_funcs
|
||||
{
|
||||
@@ -41,9 +41,6 @@ struct unix_funcs
|
||||
LONGLONG (WINAPI *RtlGetSystemTimePrecise)(void);
|
||||
|
||||
@ -254,5 +245,5 @@ index cd890152230..99415e1c412 100644
|
||||
NTSTATUS (CDECL *fast_RtlAcquireSRWLockExclusive)( RTL_SRWLOCK *lock );
|
||||
NTSTATUS (CDECL *fast_RtlTryAcquireSRWLockShared)( RTL_SRWLOCK *lock );
|
||||
--
|
||||
2.20.1
|
||||
2.30.0
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 9bd992e74a073a6ffce07463edeea29ad7aecaa5 Mon Sep 17 00:00:00 2001
|
||||
From cd6c3ffb9903b798c0d1ffc5501c7be5cb0293f9 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
|
||||
@ -10,8 +10,8 @@ Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
|
||||
dlls/ntdll/unix/loader.c | 2 -
|
||||
dlls/ntdll/unix/sync.c | 71 ----------------------------------
|
||||
dlls/ntdll/unix/unix_private.h | 3 --
|
||||
dlls/ntdll/unixlib.h | 5 +--
|
||||
5 files changed, 9 insertions(+), 96 deletions(-)
|
||||
dlls/ntdll/unixlib.h | 3 --
|
||||
5 files changed, 8 insertions(+), 95 deletions(-)
|
||||
|
||||
diff --git a/dlls/ntdll/sync.c b/dlls/ntdll/sync.c
|
||||
index 5bd093e42f5..42b62a2cd87 100644
|
||||
@ -80,10 +80,10 @@ index 5bd093e42f5..42b62a2cd87 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 5784359668e..2269a9f62c9 100644
|
||||
index 2a67f0750a0..d5e8153b313 100644
|
||||
--- a/dlls/ntdll/unix/loader.c
|
||||
+++ b/dlls/ntdll/unix/loader.c
|
||||
@@ -1588,8 +1588,6 @@ static struct unix_funcs unix_funcs =
|
||||
@@ -1590,8 +1590,6 @@ static struct unix_funcs unix_funcs =
|
||||
fast_RtlAcquireSRWLockShared,
|
||||
fast_RtlReleaseSRWLockExclusive,
|
||||
fast_RtlReleaseSRWLockShared,
|
||||
@ -93,10 +93,10 @@ index 5784359668e..2269a9f62c9 100644
|
||||
ntdll_ceil,
|
||||
ntdll_cos,
|
||||
diff --git a/dlls/ntdll/unix/sync.c b/dlls/ntdll/unix/sync.c
|
||||
index 8ff468d7a13..ca4b5b22f53 100644
|
||||
index 8e24d7aecd5..68c2e560938 100644
|
||||
--- a/dlls/ntdll/unix/sync.c
|
||||
+++ b/dlls/ntdll/unix/sync.c
|
||||
@@ -166,23 +166,6 @@ static int *get_futex(void **ptr)
|
||||
@@ -167,23 +167,6 @@ static int *get_futex(void **ptr)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@ -120,7 +120,7 @@ index 8ff468d7a13..ca4b5b22f53 100644
|
||||
#endif
|
||||
|
||||
|
||||
@@ -2664,50 +2647,6 @@ NTSTATUS CDECL fast_RtlReleaseSRWLockShared( RTL_SRWLOCK *lock )
|
||||
@@ -2720,50 +2703,6 @@ NTSTATUS CDECL fast_RtlReleaseSRWLockShared( RTL_SRWLOCK *lock )
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
@ -171,7 +171,7 @@ index 8ff468d7a13..ca4b5b22f53 100644
|
||||
#else
|
||||
|
||||
NTSTATUS CDECL fast_RtlTryAcquireSRWLockExclusive( RTL_SRWLOCK *lock )
|
||||
@@ -2740,14 +2679,4 @@ NTSTATUS CDECL fast_RtlReleaseSRWLockShared( RTL_SRWLOCK *lock )
|
||||
@@ -2796,14 +2735,4 @@ NTSTATUS CDECL fast_RtlReleaseSRWLockShared( RTL_SRWLOCK *lock )
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
@ -187,10 +187,10 @@ index 8ff468d7a13..ca4b5b22f53 100644
|
||||
-
|
||||
#endif
|
||||
diff --git a/dlls/ntdll/unix/unix_private.h b/dlls/ntdll/unix/unix_private.h
|
||||
index 4686bf1b269..0da243799f1 100644
|
||||
index bf94dddb212..f3a85dcd8d4 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
|
||||
@@ -105,10 +105,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,21 +199,12 @@ index 4686bf1b269..0da243799f1 100644
|
||||
-extern NTSTATUS CDECL fast_wait_cv( RTL_CONDITION_VARIABLE *variable, const void *value,
|
||||
- const LARGE_INTEGER *timeout ) DECLSPEC_HIDDEN;
|
||||
|
||||
extern NTSTATUS CDECL get_initial_environment( WCHAR **wargv[], WCHAR *env, SIZE_T *size ) DECLSPEC_HIDDEN;
|
||||
extern NTSTATUS CDECL get_startup_info( startup_info_t *info, SIZE_T *total_size, SIZE_T *info_size ) DECLSPEC_HIDDEN;
|
||||
extern USHORT * CDECL get_unix_codepage_data(void) DECLSPEC_HIDDEN;
|
||||
extern void CDECL get_locales( WCHAR *sys, WCHAR *user ) DECLSPEC_HIDDEN;
|
||||
diff --git a/dlls/ntdll/unixlib.h b/dlls/ntdll/unixlib.h
|
||||
index 99415e1c412..bd74bf8267a 100644
|
||||
index a18526de013..31f2c3a5cd8 100644
|
||||
--- a/dlls/ntdll/unixlib.h
|
||||
+++ b/dlls/ntdll/unixlib.h
|
||||
@@ -27,7 +27,7 @@
|
||||
struct _DISPATCHER_CONTEXT;
|
||||
|
||||
/* increment this when you change the function table */
|
||||
-#define NTDLL_UNIXLIB_VERSION 110
|
||||
+#define NTDLL_UNIXLIB_VERSION 111
|
||||
|
||||
struct unix_funcs
|
||||
{
|
||||
@@ -47,9 +47,6 @@ struct unix_funcs
|
||||
NTSTATUS (CDECL *fast_RtlAcquireSRWLockShared)( RTL_SRWLOCK *lock );
|
||||
NTSTATUS (CDECL *fast_RtlReleaseSRWLockExclusive)( RTL_SRWLOCK *lock );
|
||||
@ -225,5 +216,5 @@ index 99415e1c412..bd74bf8267a 100644
|
||||
/* math functions */
|
||||
double (CDECL *atan)( double d );
|
||||
--
|
||||
2.20.1
|
||||
2.30.0
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 5fde43f2d58b318d8e9c8a85dd21dc61fbeb0d95 Mon Sep 17 00:00:00 2001
|
||||
From 9f1b410e28ff85e4b7f6a36539e159f913c0ff05 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.
|
||||
@ -391,10 +391,10 @@ index 42b62a2cd87..d4944951dc6 100644
|
||||
|
||||
/***********************************************************************
|
||||
diff --git a/dlls/ntdll/unix/loader.c b/dlls/ntdll/unix/loader.c
|
||||
index 2269a9f62c9..d8f1a00ade7 100644
|
||||
index d5e8153b313..05a45916714 100644
|
||||
--- a/dlls/ntdll/unix/loader.c
|
||||
+++ b/dlls/ntdll/unix/loader.c
|
||||
@@ -1582,12 +1582,6 @@ static struct unix_funcs unix_funcs =
|
||||
@@ -1584,12 +1584,6 @@ static struct unix_funcs unix_funcs =
|
||||
#endif
|
||||
DbgUiIssueRemoteBreakin,
|
||||
RtlGetSystemTimePrecise,
|
||||
@ -408,10 +408,10 @@ index 2269a9f62c9..d8f1a00ade7 100644
|
||||
ntdll_ceil,
|
||||
ntdll_cos,
|
||||
diff --git a/dlls/ntdll/unix/sync.c b/dlls/ntdll/unix/sync.c
|
||||
index ca4b5b22f53..4e4345098ca 100644
|
||||
index 68c2e560938..baa1ab0e786 100644
|
||||
--- a/dlls/ntdll/unix/sync.c
|
||||
+++ b/dlls/ntdll/unix/sync.c
|
||||
@@ -114,8 +114,6 @@ static inline ULONGLONG monotonic_counter(void)
|
||||
@@ -115,8 +115,6 @@ static inline ULONGLONG monotonic_counter(void)
|
||||
|
||||
#define FUTEX_WAIT 0
|
||||
#define FUTEX_WAKE 1
|
||||
@ -420,7 +420,7 @@ index ca4b5b22f53..4e4345098ca 100644
|
||||
|
||||
static int futex_private = 128;
|
||||
|
||||
@@ -129,16 +127,6 @@ static inline int futex_wake( const int *addr, int val )
|
||||
@@ -130,16 +128,6 @@ static inline int futex_wake( const int *addr, int val )
|
||||
return syscall( __NR_futex, addr, FUTEX_WAKE | futex_private, val, NULL, 0, 0 );
|
||||
}
|
||||
|
||||
@ -437,7 +437,7 @@ index ca4b5b22f53..4e4345098ca 100644
|
||||
static inline int use_futexes(void)
|
||||
{
|
||||
static int supported = -1;
|
||||
@@ -156,16 +144,6 @@ static inline int use_futexes(void)
|
||||
@@ -157,16 +145,6 @@ static inline int use_futexes(void)
|
||||
return supported;
|
||||
}
|
||||
|
||||
@ -454,7 +454,7 @@ index ca4b5b22f53..4e4345098ca 100644
|
||||
#endif
|
||||
|
||||
|
||||
@@ -2393,290 +2371,3 @@ NTSTATUS WINAPI NtWaitForAlertByThreadId( const void *address, const LARGE_INTEG
|
||||
@@ -2449,290 +2427,3 @@ NTSTATUS WINAPI NtWaitForAlertByThreadId( const void *address, const LARGE_INTEG
|
||||
return NtWaitForSingleObject( ntdll_get_thread_data()->tid_alert_event, FALSE, timeout );
|
||||
#endif
|
||||
}
|
||||
@ -746,10 +746,10 @@ index ca4b5b22f53..4e4345098ca 100644
|
||||
-
|
||||
-#endif
|
||||
diff --git a/dlls/ntdll/unix/unix_private.h b/dlls/ntdll/unix/unix_private.h
|
||||
index 0da243799f1..c1ddb47a611 100644
|
||||
index f3a85dcd8d4..182aa86e68f 100644
|
||||
--- a/dlls/ntdll/unix/unix_private.h
|
||||
+++ b/dlls/ntdll/unix/unix_private.h
|
||||
@@ -97,12 +97,6 @@ extern void (WINAPI *pKiUserApcDispatcher)(CONTEXT*,ULONG_PTR,ULONG_PTR,ULON
|
||||
@@ -99,12 +99,6 @@ extern void (WINAPI *pKiUserApcDispatcher)(CONTEXT*,ULONG_PTR,ULONG_PTR,ULON
|
||||
extern NTSTATUS (WINAPI *pKiUserExceptionDispatcher)(EXCEPTION_RECORD*,CONTEXT*) DECLSPEC_HIDDEN;
|
||||
extern void (WINAPI *pLdrInitializeThunk)(CONTEXT*,void**,ULONG_PTR,ULONG_PTR) DECLSPEC_HIDDEN;
|
||||
extern void (WINAPI *pRtlUserThreadStart)( PRTL_THREAD_START_ROUTINE entry, void *arg ) DECLSPEC_HIDDEN;
|
||||
@ -761,9 +761,9 @@ index 0da243799f1..c1ddb47a611 100644
|
||||
-extern NTSTATUS CDECL fast_RtlReleaseSRWLockShared( RTL_SRWLOCK *lock ) DECLSPEC_HIDDEN;
|
||||
extern LONGLONG CDECL fast_RtlGetSystemTimePrecise(void) DECLSPEC_HIDDEN;
|
||||
|
||||
extern NTSTATUS CDECL get_initial_environment( WCHAR **wargv[], WCHAR *env, SIZE_T *size ) DECLSPEC_HIDDEN;
|
||||
extern USHORT * CDECL get_unix_codepage_data(void) DECLSPEC_HIDDEN;
|
||||
diff --git a/dlls/ntdll/unixlib.h b/dlls/ntdll/unixlib.h
|
||||
index bd74bf8267a..534d22483e7 100644
|
||||
index 31f2c3a5cd8..db7540dc1b7 100644
|
||||
--- a/dlls/ntdll/unixlib.h
|
||||
+++ b/dlls/ntdll/unixlib.h
|
||||
@@ -27,7 +27,7 @@
|
||||
@ -791,5 +791,5 @@ index bd74bf8267a..534d22483e7 100644
|
||||
double (CDECL *atan)( double d );
|
||||
double (CDECL *ceil)( double d );
|
||||
--
|
||||
2.20.1
|
||||
2.30.0
|
||||
|
||||
|
@ -51,7 +51,7 @@ usage()
|
||||
# Get the upstream commit sha
|
||||
upstream_commit()
|
||||
{
|
||||
echo "4f7e621dc58fd82924e64c695dc61a78c55fd44e"
|
||||
echo "a9c8196e97ec255f4f69d005ea1cbf8fcf2537e8"
|
||||
}
|
||||
|
||||
# Show version information
|
||||
@ -128,7 +128,6 @@ patch_enable_all ()
|
||||
enable_fonts_Missing_Fonts="$1"
|
||||
enable_gdi32_rotation="$1"
|
||||
enable_gdiplus_Performance_Improvements="$1"
|
||||
enable_imagehlp_BindImageEx="$1"
|
||||
enable_imm32_com_initialization="$1"
|
||||
enable_imm32_message_on_focus="$1"
|
||||
enable_include_winsock="$1"
|
||||
@ -456,9 +455,6 @@ patch_enable ()
|
||||
gdiplus-Performance-Improvements)
|
||||
enable_gdiplus_Performance_Improvements="$2"
|
||||
;;
|
||||
imagehlp-BindImageEx)
|
||||
enable_imagehlp_BindImageEx="$2"
|
||||
;;
|
||||
imm32-com-initialization)
|
||||
enable_imm32_com_initialization="$2"
|
||||
;;
|
||||
@ -2580,18 +2576,6 @@ if test "$enable_gdiplus_Performance_Improvements" -eq 1; then
|
||||
patch_apply gdiplus-Performance-Improvements/0004-gdiplus-Prefer-using-pre-multiplied-ARGB-data-in-the.patch
|
||||
fi
|
||||
|
||||
# Patchset imagehlp-BindImageEx
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#3591] Support for BindImageEx
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/imagehlp/modify.c, dlls/imagehlp/tests/image.c
|
||||
# |
|
||||
if test "$enable_imagehlp_BindImageEx" -eq 1; then
|
||||
patch_apply imagehlp-BindImageEx/0001-imagehlp-Implement-parts-of-BindImageEx-to-make-free.patch
|
||||
fi
|
||||
|
||||
# Patchset winex11-_NET_ACTIVE_WINDOW
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
|
@ -1 +1 @@
|
||||
4f7e621dc58fd82924e64c695dc61a78c55fd44e
|
||||
a9c8196e97ec255f4f69d005ea1cbf8fcf2537e8
|
||||
|
Loading…
x
Reference in New Issue
Block a user