Rebase against b65ca133052ed9053e48c571155a764d4d711277.

This commit is contained in:
Zebediah Figura
2020-05-21 20:17:05 -05:00
parent 5246a035e9
commit 4501d49149
7 changed files with 57 additions and 69 deletions

View File

@@ -1,4 +1,4 @@
From cd9a767f1486be67feac18d7ea78a1ce6c1d0abc Mon Sep 17 00:00:00 2001
From 93f5d4ef07bc35fc672738fe804b829595c61eda 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.
@@ -6,17 +6,17 @@ Subject: [PATCH] tools/winebuild: Add syscall thunks for 64 bit.
---
dlls/kernel32/tests/loader.c | 7 +-
dlls/ntdll/signal_x86_64.c | 2 +
dlls/ntdll/thread.c | 14 +-
dlls/ntdll/thread.c | 12 +-
libs/wine/loader.c | 4 +
tools/winebuild/parser.c | 2 +-
tools/winebuild/spec32.c | 285 ++++++++++++++++++++++++++++++++++-
6 files changed, 304 insertions(+), 10 deletions(-)
6 files changed, 303 insertions(+), 9 deletions(-)
diff --git a/dlls/kernel32/tests/loader.c b/dlls/kernel32/tests/loader.c
index 5373dc4efe1..67d04876bd6 100644
index 95939ba6bde..ae5462f6e55 100644
--- a/dlls/kernel32/tests/loader.c
+++ b/dlls/kernel32/tests/loader.c
@@ -1537,7 +1537,7 @@ static void test_filenames(void)
@@ -1573,7 +1573,7 @@ static void test_filenames(void)
static void test_FakeDLL(void)
{
@@ -25,7 +25,7 @@ index 5373dc4efe1..67d04876bd6 100644
NTSTATUS (WINAPI *pNtSetEvent)(HANDLE, ULONG *) = NULL;
IMAGE_EXPORT_DIRECTORY *dir;
HMODULE module = GetModuleHandleA("ntdll.dll");
@@ -1579,8 +1579,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);
@@ -60,37 +60,28 @@ index 31af1e98d3f..324a92b41a9 100644
}
diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c
index 0fc8aa9e928..bae49792ce5 100644
index 19e09c7e383..857d6a68cf1 100644
--- a/dlls/ntdll/thread.c
+++ b/dlls/ntdll/thread.c
@@ -59,6 +59,8 @@ struct _KUSER_SHARED_DATA *user_shared_data = NULL;
static size_t user_shared_data_size;
static const WCHAR default_windirW[] = {'C',':','\\','w','i','n','d','o','w','s',0};
@@ -54,6 +54,8 @@ WINE_DEFAULT_DEBUG_CHANNEL(thread);
struct _KUSER_SHARED_DATA *user_shared_data = NULL;
+extern void DECLSPEC_NORETURN __wine_syscall_dispatcher( void );
+
void (WINAPI *kernel32_start_process)(LPTHREAD_START_ROUTINE,void*) = NULL;
/* info passed to a starting thread */
@@ -294,7 +296,7 @@ TEB *thread_init(void)
@@ -312,7 +314,7 @@ TEB *thread_init(void)
/* reserve space for shared user data */
addr = (void *)0x7ffe0000;
- size = 0x1000;
+ size = 0x2000;
status = NtAllocateVirtualMemory( NtCurrentProcess(), &addr, 0, &size,
MEM_RESERVE|MEM_COMMIT, PAGE_READWRITE );
MEM_RESERVE|MEM_COMMIT, PAGE_READONLY );
if (status)
@@ -303,7 +305,7 @@ TEB *thread_init(void)
exit(1);
}
user_shared_data = addr;
- user_shared_data_size = size;
+ user_shared_data_size = 0x1000;
memcpy( user_shared_data->NtSystemRoot, default_windirW, sizeof(default_windirW) );
/* allocate and initialize the PEB and initial TEB */
@@ -333,6 +335,14 @@ TEB *thread_init(void)
@@ -349,6 +351,14 @@ TEB *thread_init(void)
InitializeListHead( &ldr.InInitializationOrderModuleList );
*(ULONG_PTR *)peb->Reserved = get_image_addr();