forked from Kron4ek/Wine-Builds
-
Notifications
You must be signed in to change notification settings - Fork 16
/
termux-wine-fix-staging.patch
48 lines (47 loc) · 2.19 KB
/
termux-wine-fix-staging.patch
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
diff --git a/dlls/ntdll/unix/server.c b/dlls/ntdll/unix/server.c
index b08a31a9..15c992cf 100644
--- a/dlls/ntdll/unix/server.c
+++ b/dlls/ntdll/unix/server.c
@@ -1354,9 +1354,12 @@ static int setup_config_dir(void)
if (!mkdir( "dosdevices", 0777 ))
{
mkdir( "drive_c", 0777 );
+ mkdir( "drive_d", 0777 );
set_case_insensitive( "drive_c" );
+ set_case_insensitive( "drive_d" );
symlink( "../drive_c", "dosdevices/c:" );
- symlink( "/", "dosdevices/z:" );
+ symlink( "/sdcard", "dosdevices/d:" );
+ symlink( "/data/data/com.termux/files", "dosdevices/z:" );
}
else if (errno != EEXIST) fatal_perror( "cannot create %s/dosdevices", config_dir );
diff --git a/dlls/ntdll/unix/virtual.c b/dlls/ntdll/unix/virtual.c
index fb80ef3a..de39f6fb 100644
--- a/dlls/ntdll/unix/virtual.c
+++ b/dlls/ntdll/unix/virtual.c
@@ -167,9 +167,9 @@ static void *address_space_start = (void *)0x110000; /* keep DOS area clear */
static void *address_space_start = (void *)0x10000;
#endif
#ifdef _WIN64
-static void *address_space_limit = (void *)0x7fffffff0000; /* top of the total available address space */
-static void *user_space_limit = (void *)0x7fffffff0000; /* top of the user address space */
-static void *working_set_limit = (void *)0x7fffffff0000; /* top of the current working set */
+static void *address_space_limit = (void *)0x7fffff0000; /* top of the total available address space */
+static void *user_space_limit = (void *)0x7fffff0000; /* top of the user address space */
+static void *working_set_limit = (void *)0x7fffff0000; /* top of the current working set */
#else
static void *address_space_limit = (void *)0xc0000000;
static void *user_space_limit = (void *)0x7fff0000;
diff --git a/loader/preloader.c b/loader/preloader.c
index d0551bae..2f8eedeb 100644
--- a/loader/preloader.c
+++ b/loader/preloader.c
@@ -1447,7 +1447,7 @@ void* wld_start( void **stack )
{
/* don't warn for low 64k */
if (preload_info[i].addr >= (void *)0x10000
-#ifdef __aarch64__
+#if 1
&& preload_info[i].addr < (void *)0x7fffffffff /* ARM64 address space might end here*/
#endif
)