Rebase against 634cb775c27b61ad6ce1fbe3e9972b0edfa31dcb.

This commit is contained in:
Zebediah Figura
2020-06-15 17:43:18 -05:00
parent b6595d9e28
commit 32fcc0d75b
19 changed files with 182 additions and 461 deletions

View File

@@ -1,4 +1,4 @@
From 607a86f034677449a7fa4628ec2df013b65bfa90 Mon Sep 17 00:00:00 2001
From 7e13aba360d1dd4d5a09f5b9a624dfa4e61d3ddf Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Thu, 11 May 2017 05:32:55 +0200
Subject: [PATCH] winebuild: Generate syscall thunks for ntdll exports.
@@ -22,7 +22,7 @@ Based on a patch by Erich E. Hoover.
14 files changed, 221 insertions(+), 32 deletions(-)
diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c
index c2e65c94abc..0f9fe76e9af 100644
index a09c17e3b50..d22fd0141c0 100644
--- a/dlls/ntdll/loader.c
+++ b/dlls/ntdll/loader.c
@@ -3812,6 +3812,7 @@ PIMAGE_NT_HEADERS WINAPI RtlImageNtHeader(HMODULE hModule)
@@ -106,7 +106,7 @@ index 5a6809638ae..c6988ce08e3 100644
peb = teb->Peb;
peb->FastPebLock = &peb_lock;
diff --git a/dlls/ntdll/unix/thread.c b/dlls/ntdll/unix/thread.c
index 97b191e1a5b..2dbaa43e731 100644
index 0470f5eaa8a..55afc1748ef 100644
--- a/dlls/ntdll/unix/thread.c
+++ b/dlls/ntdll/unix/thread.c
@@ -85,7 +85,7 @@ static void pthread_exit_wrapper( int status )
@@ -127,7 +127,7 @@ index 97b191e1a5b..2dbaa43e731 100644
thread_data->request_fd = -1;
thread_data->reply_fd = -1;
diff --git a/dlls/ntdll/unix/unix_private.h b/dlls/ntdll/unix/unix_private.h
index abedfc316ae..62d0c115026 100644
index 0d1d0e5025f..ac792801283 100644
--- a/dlls/ntdll/unix/unix_private.h
+++ b/dlls/ntdll/unix/unix_private.h
@@ -111,7 +111,7 @@ extern void CDECL server_release_fd( HANDLE handle, int unix_fd ) DECLSPEC_HIDDE
@@ -140,19 +140,19 @@ index abedfc316ae..62d0c115026 100644
extern void CDECL DECLSPEC_NORETURN exit_process( int status ) DECLSPEC_HIDDEN;
extern NTSTATUS CDECL get_thread_ldt_entry( HANDLE handle, void *data, ULONG len, ULONG *ret_len ) DECLSPEC_HIDDEN;
diff --git a/dlls/ntdll/unixlib.h b/dlls/ntdll/unixlib.h
index 873cc7abdf2..c6fb8e0f2d4 100644
index dd5c3e3784e..dae93ab1632 100644
--- a/dlls/ntdll/unixlib.h
+++ b/dlls/ntdll/unixlib.h
@@ -28,7 +28,7 @@ struct ldt_copy;
struct msghdr;
/* increment this when you change the function table */
-#define NTDLL_UNIXLIB_VERSION 44
+#define NTDLL_UNIXLIB_VERSION 45
-#define NTDLL_UNIXLIB_VERSION 47
+#define NTDLL_UNIXLIB_VERSION 48
struct unix_funcs
{
@@ -225,7 +225,7 @@ struct unix_funcs
@@ -253,7 +253,7 @@ struct unix_funcs
/* thread/process functions */
TEB * (CDECL *init_threading)( int *nb_threads_ptr, struct ldt_copy **ldt_copy, SIZE_T *size,

View File

@@ -1,4 +1,4 @@
From 6f1973aa2aee35139ae041e59d37a45ff22dc5bf Mon Sep 17 00:00:00 2001
From b37d55d71b294fb96cb4816f2cb3f2448731e115 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Thu, 7 Sep 2017 00:38:09 +0200
Subject: [PATCH] tools/winebuild: Add syscall thunks for 64 bit.
@@ -15,10 +15,10 @@ Subject: [PATCH] tools/winebuild: Add syscall thunks for 64 bit.
8 files changed, 305 insertions(+), 14 deletions(-)
diff --git a/dlls/kernel32/tests/loader.c b/dlls/kernel32/tests/loader.c
index 1f525194ce73..21af7b4ce7a4 100644
index 95939ba6bde..ae5462f6e55 100644
--- a/dlls/kernel32/tests/loader.c
+++ b/dlls/kernel32/tests/loader.c
@@ -1574,7 +1574,7 @@ static void test_filenames(void)
@@ -1573,7 +1573,7 @@ static void test_filenames(void)
static void test_FakeDLL(void)
{
@@ -27,7 +27,7 @@ index 1f525194ce73..21af7b4ce7a4 100644
NTSTATUS (WINAPI *pNtSetEvent)(HANDLE, ULONG *) = NULL;
IMAGE_EXPORT_DIRECTORY *dir;
HMODULE module = GetModuleHandleA("ntdll.dll");
@@ -1616,8 +1616,13 @@ static void test_FakeDLL(void)
@@ -1615,8 +1615,13 @@ static void test_FakeDLL(void)
dll_func = (BYTE *)GetProcAddress(module, func_name);
ok(dll_func != NULL, "%s: GetProcAddress returned NULL\n", func_name);
@@ -42,7 +42,7 @@ index 1f525194ce73..21af7b4ce7a4 100644
todo_wine ok(0, "%s: Export is a stub-function, skipping\n", func_name);
continue;
diff --git a/dlls/ntdll/unix/thread.c b/dlls/ntdll/unix/thread.c
index 2dbaa43e731a..e1da90222d38 100644
index 55afc1748ef..0bffa4029c1 100644
--- a/dlls/ntdll/unix/thread.c
+++ b/dlls/ntdll/unix/thread.c
@@ -110,7 +110,7 @@ TEB * CDECL init_threading( int *nb_threads_ptr, struct ldt_copy **ldt_copy, SIZ
@@ -51,14 +51,14 @@ index 2dbaa43e731a..e1da90222d38 100644
info_size = server_init_thread( teb->Peb, suspend );
- virtual_map_user_shared_data();
+ virtual_map_user_shared_data(syscall_handler);
init_files();
NtCreateKeyedEvent( &keyed_event, GENERIC_READ | GENERIC_WRITE, NULL, 0 );
if (size) *size = info_size;
diff --git a/dlls/ntdll/unix/unix_private.h b/dlls/ntdll/unix/unix_private.h
index 33a551e947c2..d06f366d3c6d 100644
index ac792801283..b7b66b6b440 100644
--- a/dlls/ntdll/unix/unix_private.h
+++ b/dlls/ntdll/unix/unix_private.h
@@ -153,7 +153,7 @@ extern void virtual_init(void) DECLSPEC_HIDDEN;
@@ -176,7 +176,7 @@ extern void virtual_init(void) DECLSPEC_HIDDEN;
extern TEB *virtual_alloc_first_teb(void) DECLSPEC_HIDDEN;
extern NTSTATUS virtual_alloc_teb( TEB **ret_teb ) DECLSPEC_HIDDEN;
extern void virtual_free_teb( TEB *teb ) DECLSPEC_HIDDEN;
@@ -68,10 +68,10 @@ index 33a551e947c2..d06f366d3c6d 100644
extern BOOL virtual_is_valid_code_address( const void *addr, SIZE_T size ) DECLSPEC_HIDDEN;
extern int virtual_handle_stack_fault( void *addr ) DECLSPEC_HIDDEN;
diff --git a/dlls/ntdll/unix/virtual.c b/dlls/ntdll/unix/virtual.c
index 9fb2ecd38ca3..ad11485d1cea 100644
index b656a62c154..9b415fe5058 100644
--- a/dlls/ntdll/unix/virtual.c
+++ b/dlls/ntdll/unix/virtual.c
@@ -2772,14 +2772,14 @@ TEB *virtual_alloc_first_teb(void)
@@ -2588,14 +2588,14 @@ TEB *virtual_alloc_first_teb(void)
TEB *teb;
PEB *peb;
NTSTATUS status;
@@ -88,7 +88,7 @@ index 9fb2ecd38ca3..ad11485d1cea 100644
if (status)
{
ERR( "wine: failed to map the shared user data: %08x\n", status );
@@ -2977,7 +2977,7 @@ void virtual_clear_thread_stack( void *stack_end )
@@ -2791,7 +2791,7 @@ void virtual_clear_thread_stack( void *stack_end )
/***********************************************************************
* virtual_map_user_shared_data
*/
@@ -97,7 +97,7 @@ index 9fb2ecd38ca3..ad11485d1cea 100644
{
static const WCHAR wine_usdW[] = {'\\','K','e','r','n','e','l','O','b','j','e','c','t','s',
'\\','_','_','w','i','n','e','_','u','s','e','r','_','s','h','a','r','e','d','_','d','a','t','a',0};
@@ -3000,6 +3000,11 @@ void virtual_map_user_shared_data(void)
@@ -2814,6 +2814,11 @@ void virtual_map_user_shared_data(void)
ERR( "failed to remap the process USD: %d\n", res );
exit(1);
}
@@ -110,7 +110,7 @@ index 9fb2ecd38ca3..ad11485d1cea 100644
NtClose( section );
}
diff --git a/libs/wine/loader.c b/libs/wine/loader.c
index 4597a6cb3243..3d0d75e9c6d3 100644
index 4597a6cb324..3d0d75e9c6d 100644
--- a/libs/wine/loader.c
+++ b/libs/wine/loader.c
@@ -398,7 +398,11 @@ static void *map_dll( const IMAGE_NT_HEADERS *nt_descr )
@@ -126,7 +126,7 @@ index 4597a6cb3243..3d0d75e9c6d3 100644
sec++;
diff --git a/server/mapping.c b/server/mapping.c
index 0941dd87c05d..002f3215af2e 100644
index 0941dd87c05..002f3215af2 100644
--- a/server/mapping.c
+++ b/server/mapping.c
@@ -964,7 +964,11 @@ struct object *create_user_data_mapping( struct object *root, const struct unico
@@ -143,7 +143,7 @@ index 0941dd87c05d..002f3215af2e 100644
}
diff --git a/tools/winebuild/parser.c b/tools/winebuild/parser.c
index 74216f8bb6e7..820516329a47 100644
index 74216f8bb6e..820516329a4 100644
--- a/tools/winebuild/parser.c
+++ b/tools/winebuild/parser.c
@@ -545,7 +545,7 @@ static const char *parse_spec_flags( DLLSPEC *spec, ORDDEF *odp )
@@ -156,7 +156,7 @@ index 74216f8bb6e7..820516329a47 100644
if (odp->flags & (FLAG_FORWARD | FLAG_REGISTER))
return 0;
diff --git a/tools/winebuild/spec32.c b/tools/winebuild/spec32.c
index 07d6eed05fcc..9cc4698d0d7d 100644
index 07d6eed05fc..9cc4698d0d7 100644
--- a/tools/winebuild/spec32.c
+++ b/tools/winebuild/spec32.c
@@ -375,11 +375,11 @@ static void output_relay_debug( DLLSPEC *spec )
@@ -497,5 +497,5 @@ index 07d6eed05fcc..9cc4698d0d7d 100644
}
else
--
2.26.2
2.27.0