Re: Towards a working "wine". [long]

From: Peter Edwards <peadar.edwards_at_gmail.com>
Date: Sat, 18 Jun 2005 13:06:36 +0100
On 6/18/05, Alexander Leidinger <Alexander_at_leidinger.net> wrote:
> On Fri, 17 Jun 2005 17:59:38 -0700 (PDT)
> Jon Dama <jd_at_ugcs.caltech.edu> wrote:
> 
> > My intuition says that mmap should ignore requests to map into the
> > existing brk region but not reject requests that are merely between the
> > existing brk region and the DS limit.
> 
> Have you seen Martin Cracauer's mail ("My hacks to make the memory map
> fit") on emulation_at_ which deals with the memory map? Maybe it's of help
> here...

No I hadn't seen them, thanks for the reference.
These won't help in this case: It's almost the opposite problem. I think.
Martin's hack leaves a gap between the data segment and the area that
mmap starts looking in for address space. However, because of the
format of the wine binary, it's data segment is very high in memory,
and the area required by wine's mmap actually falls inside it. i.e.,
Martins fix pushes out the starting point for mmap searches, but wine
needs hit dragged in.

Jean-Marc DETREZ posted an interesting patch to emulation_at_ and wine's
patches list around the same time that's more promising, though:
"patch for unbreaking wine on freebsd"

This uses mincore() + mmap(... MAP_FIXED ...) when mincore returns
EFAULT. I'll have a read of it.

It looks like both OpenBSD and NetBSD now incorporate a MAP_TRYFIXED,
though. And, from a comment on the OpenBSD 3.4 changelog, adding it to
the linuxulator may also help compatibility there.
Received on Sat Jun 18 2005 - 10:06:37 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:37 UTC