freebsd-ports/emulators/wine-devel/files/patch-dlls-ntdll
Gerald Pfeifer bffc60d14c Update to the 20041201 version of Wine, which contains tons of general
improvements (as well as dozens of portability fixes by myself) and, with
the patch for [1] finally works on FreeBSD again, unlike all versions after
20040505.

PR:		73092 [1]
Submitted by:	Simon 'corecode' Schubert <corecode@fs.ei.tum.de> [1]
2004-12-03 17:13:09 +00:00

29 lines
1.3 KiB
Text

Index: dlls/ntdll/virtual.c
===================================================================
RCS file: /home/wine/wine/dlls/ntdll/virtual.c,v
retrieving revision 1.41
diff -u -3 -p -r1.41 virtual.c
--- dlls/ntdll/virtual.c 11 Oct 2004 20:59:06 -0000 1.41
+++ dlls/ntdll/virtual.c 3 Dec 2004 04:06:42 -0000
@@ -119,6 +119,12 @@ static CRITICAL_SECTION csVirtual = { &c
/* Note: these are Windows limits, you cannot change them. */
# define ADDRESS_SPACE_LIMIT ((void *)0xc0000000) /* top of the total available address space */
# define USER_SPACE_LIMIT ((void *)0x80000000) /* top of the user address space */
+# ifdef __FreeBSD__
+# define LOW_SPACE_LIMIT ((void *)0x110000) /* lower address space limit */
+# else
+# define LOW_SPACE_LIMIT NULL
+# endif
+
#else
static UINT page_shift;
static UINT page_mask;
@@ -600,7 +606,7 @@ static NTSTATUS map_view( struct file_vi
for (;;)
{
- if ((ptr = wine_anon_mmap( NULL, view_size, VIRTUAL_GetUnixProt(vprot), 0 )) == (void *)-1)
+ if ((ptr = wine_anon_mmap( LOW_SPACE_LIMIT, view_size, VIRTUAL_GetUnixProt(vprot), 0 )) == (void *)-1)
{
if (errno == ENOMEM) return STATUS_NO_MEMORY;
return STATUS_INVALID_PARAMETER;