Subject: Re: Wine & NetBSD?
To: Chuck Cranor <firstname.lastname@example.org>
From: Chuck Silvers <email@example.com>
Date: 11/19/2001 22:48:00
why would anything be mapped at 0x800000?
the only reason that anything will be mapped at 0x800000 is if
the mapping was created with MAP_FIXED. so again, if both
of these mappings really have to be at 0x800000, then
it won't work without MAP_FIXED either.
it still isn't clear how your proposed change fixes the problem.
On Tue, Nov 20, 2001 at 03:38:13PM +0900, Bang Jun-Young wrote:
> On Tue, Nov 20, 2001 at 03:07:39PM +0900, Bang Jun-Young wrote:
> > Because MAP_FIXED may cause Wine to crash. If there were loaded two
> > or more EXE/DLL's that have the same ImageBase (base address) for one
> > process and at least two of them were stripped, Wine wouldn't be able
> > to handle them properly. I think this is a (very) rare case, but
> > that's Wine maintainers are afraid of.
> Ooops, I'm sorry. This is plain wrong. Wine wouldn't be able to
> handle them regardless of MAP_FIXED in that case.
> The problem occurs, for example, if there's a file (which may be
> a DLL or a data) was mmapped at 0x800000 and Wine attempted to mmap
> a stripped DLL that has 0x800000 or so as ImageBase with MAP_FIXED.
> New mapping would zap the previous one and this would lead to crash.
> Bang Jun-Young <firstname.lastname@example.org>