Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 31 Dec 1996 00:28:45 +0100
From:      se@freebsd.org (Stefan Esser)
To:        joed@telecom.ksu.edu (Joe Diehl)
Cc:        freebsd-ports@freebsd.org
Subject:   Re: wine12[15-22]96
Message-ID:  <Mutt.19961231002845.se@x14.mi.uni-koeln.de>
In-Reply-To: <199612292245.QAA04406@telecom.ksu.edu>; from Joe Diehl on Dec 29, 1996 16:45:39 -0600
References:  <199612292245.QAA04406@telecom.ksu.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
On Dec 29, joed@telecom.ksu.edu (Joe Diehl) wrote:
> Greetings,
> 
> I spent sometime over the past week trying to get wine122296 running
> under FreeBSD 2.2-ALPHA.  Compiled with very little effort (on my part,
> my cpu is getting made at me :/), but at run time i386_set_ldt returned
> invalid argument and wine refused to run ("Are you sure you recompiled
> your kernel with options USER_LDT" or whatever).

Did you try to build Wine using the FreeBSD port ?

If yes: Sorry, if you spent much time to debug this ...

I had added a patch to use LDT entries starting at 17 
when some change to the BSDI emulation code was made, 
that moved the highest LDT entry used by the system 
from 5 to 16 (making the adjustment of the first free
LDT from 6 to 17 necessary, as you found out yourself).

Since -current got changed to no longer reject requests
to use LDT entries below 17 (even if the emulation code
does still depend on entry 16, but you won't need that 
to run a FreeBSD Wine binary ...), I removed the patch
from the Wine port.

I now think that this was short-sighted, since it does
hurt compiling Wine on a 2.2 system, and since it means
that the Wine package will run on a -current system only,
too ...

But there were some requests to not put back the patch,
since the ports are always expected to apply to -current
before any other system.

I'm not yet sure what to do, but I guess I should put
back the patch at least until the packages have been 
built for the 2.2 CD. Thereafter, the patch may be 
deactivated again.

An alternative might be to merge the changed LDT entry
boundary check into 2.2. Since USER_LDT is off in the 
GENERIC 2.2 kernel, this might be acceptable ...

I'm asking for advice !

Regards, STefan

> Downloaded the port of wine121596 out of ports-current and compiled the
> package.. Same thing...  Downloaded the prebuilt packages of 120196 and 121596.
> 120196 worked and 121596 failed.
> 
> In the end, after recompiling the kernel with debugging turned out
> for user_ldt, I noticed that wine120196 was allocating ldt 17 first while
> 121596 and 122296 was allocating ldt 6 first.
> 
> In memory/selector.c there is a #define near the top (FIRST_LDT_ENTRY_TO_ALLOC)
> which defines which LDT to allocate first.  All three versions had this
> #defined to 6.  I have no idea as of yet why the differance in 120196, but
> resetting this #define to 17 eleminated the problem...
> 
> Not sure if the problem is specific to my machine or is something that
> may want to be added in the port, but thought I would bring it up.
> 
> Note that I am not subscribed to freebsd-ports at this time, so please
> cc: replies to me.  Thanks
> 
> ---
> Joe Diehl <joed@telecom.ksu.edu>
> KSU Dept. of Telecommunications



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Mutt.19961231002845.se>