kern/73092: [patch] Unbreak WINE for 5.x and 6 [patches for both kern and port]

Simon 'corecode' Schubert corecode at
Wed Nov 17 21:00:54 PST 2004

The following reply was made to PR kern/73092; it has been noted by GNATS.

From: Simon 'corecode' Schubert <corecode at>
To: freebsd-gnats-submit at, amistry at
Subject: Re: kern/73092: [patch] Unbreak WINE for 5.x and 6 [patches for both kern and port]
Date: Thu, 18 Nov 2004 05:51:49 +0100

 Content-Transfer-Encoding: 7bit
 Content-Type: text/plain; charset=US-ASCII; format=flowed
 I was looking at getting a current wine running on DragonFly and found 
 your patch. In my opinion, this patch fixes the "problem" at the wrong 
 wine doesn't want arbitary addresses (mmap(NULL...)), but wants 
 addresses below user_space_limit. Although mmap(2) doesn't provide such 
 a rich set of features to be able to specify an "desired/allowed 
 range", this can be easily done in wine itself:
 diff -ru work/wine-20041019/dlls/ntdll/virtual.c 
 --- work/wine-20041019/dlls/ntdll/virtual.c	2004-10-11 
 22:59:06.000000000 +0200
 +++ work.old/wine-20041019/dlls/ntdll/virtual.c	2004-11-18 
 04:33:04.000000000 +0100
 @@ -119,6 +119,7 @@
   /* 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 */
 +# define LOW_SPACE_LIMIT      ((void *)0x110000)    /* lower address 
 space limit */
   static UINT page_shift;
   static UINT page_mask;
 @@ -600,7 +601,7 @@
           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;
 Just ask mmap to start allocating at a low address. It's not tested a 
 lot, but applications run again.
 \ /
   \     ASCII Ribbon Campaign
 / \  Against HTML Mail and News
 content-type: application/pgp-signature; x-mac-type=70674453;
 content-description: This is a digitally signed message part
 content-disposition: inline; filename=PGP.sig
 content-transfer-encoding: 7bit
 Version: GnuPG v1.2.4 (Darwin)

More information about the freebsd-bugs mailing list