Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 23 Aug 2000 18:00:03 -0700 (PDT)
From:      Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
To:        freebsd-bugs@FreeBSD.org
Subject:   Re: kern/11287: rfork(RFMEM...) doesn't share LDTs set byi386_set_ldt, breaking wine
Message-ID:  <200008240100.SAA71465@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/11287; it has been noted by GNATS.

From: Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
To: freebsd-gnats-submit@FreeBSD.org, sheldonh@FreeBSD.org
Cc: nox@jelal.kn-bremen.de, freebsd-ports@FreeBSD.org
Subject: Re: kern/11287: rfork(RFMEM...) doesn't share LDTs set byi386_set_ldt,
 breaking wine
Date: Thu, 24 Aug 2000 02:58:56 +0200 (CEST)

 sheldonh wrote:
 > This one can be closed now, no? 
 
 Not yet, but nearly! :-)
 
 The following patch for the Wine port finally allows this PR to be fully
 closed. (The kernel has already been updated, but neither the Wine port
 nor this PR have been...)
 
 Please install the patch below and remove files/patch-3.3-sys-fsgs from
 the Wine port and also from pkg/PLIST of that port.
 
 Approved by the maintainer of that port. (Myself ;-) )
 
 Gerald
 
 Index: Makefile
 ===================================================================
 RCS file: /sw/FreeBSD/CVSUP/ports/emulators/wine/Makefile,v
 retrieving revision 1.91
 diff -u -3 -p -r1.91 Makefile
 --- Makefile	2000/08/21 22:51:45	1.91
 +++ Makefile	2000/08/24 00:46:56
 @@ -101,7 +101,6 @@ do-install:
  		${PREFIX}/lib/wine/reg
  	${INSTALL_DATA} ${FILESDIR}/README.patch \
  		${FILESDIR}/patch-3.3-sys-sigtrap \
 -		${FILESDIR}/patch-3.3-sys-fsgs \
  		${PREFIX}/lib/wine
  	${INSTALL_DATA} ${WRKSRC}/winedefault.reg ${PREFIX}/lib/wine
  	${ECHO}
 Index: files/README.patch
 ===================================================================
 RCS file: /sw/FreeBSD/CVSUP/ports/emulators/wine/files/README.patch,v
 retrieving revision 1.4
 diff -u -3 -p -r1.4 README.patch
 --- files/README.patch	2000/08/21 19:27:04	1.4
 +++ files/README.patch	2000/08/21 22:57:51
 @@ -1,38 +1,20 @@
 -Here are some patches for FreeBSD's kernel that are necessary for wine
 -(well not strictly _necessary_ but without them parts of it won't work.)
 +Here are some patches for FreeBSD's kernel that are necessary for Wine
 +(Well not strictly _necessary_ but without them parts of it won't work).
  They unfortunately didn't make it into the base distribution in time
  for the 3.3 release code freeze...
  
  patch-3.3-sys-sigtrap:
  stop wine's SIGTRAP handler from being called in the sigreturn syscall,
 -causing problems for wine's internal debugger.  (it would still
 +causing problems for wine's internal debugger.  (It would still
  correctly show a crash backtrace but all commands that use single-
  stepping failed.)
  
 -patch-3.3-sys-fsgs:
 -always set/use the sc_fs and sc_gs entries in the sigcontext struct,
 -making -stable behave the same as -current there.  this should finally
 -allow signal handling of a wine that was built on -stable to correctly
 -run on -current too.  The corresponding wine change is in the port in
 -patches/patch-af, it is also in wine's CVS tree now, so that file will
 -disappear when the port is updated after the next wine release.
 -(this one was MFC'd Nov 15 1999, so you only need it if you're running a
 -system from the -stable branch older than that, like a 3.3-RELEASE.  If you
 -happen to try to apply it when its already there patch(1) should complain
 -`Reversed (or previously applied) patch detected!  Assume -R? [y]',
 -just hit ^C then...)
 -
  Apply as follows:
  
  	(cd /usr/src/sys && patch ) <patch-3.3-sys-sigtrap
 -
 -And if you don't already have it:
 -
 -	(cd /usr/src/sys && patch ) <patch-3.3-sys-fsgs
  
 -then build a new kernel. (don't forget to include the options USER_LDT,
 -SYSVSHM, SYSVSEM, and SYSVMSG, wine needs these.)
 +and build a new kernel. (Don't forget to include the options USER_LDT,
 +SYSVSHM, SYSVSEM, and SYSVMSG which are required by Wine.)
  
 --current users:
 -The sigtrap patch looks like it could also apply to -current but i haven't
 -tried.  And the fs/gs patch of course already is in -current.
 +4.x users: The sigtrap patch looks like it could also apply to 4.x but I
 +haven't tried.
 Index: pkg/MESSAGE
 ===================================================================
 RCS file: /sw/FreeBSD/CVSUP/ports/emulators/wine/pkg/MESSAGE,v
 retrieving revision 1.2
 diff -u -3 -p -r1.2 MESSAGE
 --- pkg/MESSAGE	1999/12/10 17:36:22	1.2
 +++ pkg/MESSAGE	2000/08/24 00:48:24
 @@ -3,10 +3,6 @@ options USER_LDT, SYSVSHM, SYSVSEM, and 
  you may want to apply the patches in %%PREFIX%%/lib/wine to your
  kernel sources, see the README.patch there.
  
 -(Note: if you already installed the patches from the 991031 version of
 -this port and you're not tracking -stable or your -stable is older than
 -Nov 15 1999:  there is a new patch you need, patch-3.3-sys-fsgs)
 -
  And the port now also installs some of wine's doc files which
  describe additional things that are not in the manual pages, see
  %%PREFIX%%/lib/wine/documentation.  There are more in the source tree
 
 


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




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