On Sunday 15 August 2004 10:24, Doug Rabson wrote: > On Sunday 15 August 2004 09:39, Stefan Ehmann wrote: > > On Sun, 2004-08-15 at 02:56, Johan Pettersson wrote: > > > On Sat, 14 Aug 2004 19:34:24 +0100 > > > > > > Doug Rabson <dfr_at_nlsystems.com> wrote: > > > > The latest 6113 build of the nvidia graphics drivers has just > > > > appeared > > > > > > > > on nvidia's web site. Check out > > > > http://www.nvidia.com/object/freebsd_1.0-6113.html if you are > > > > currently using the nvidia proprietary drivers. This driver > > > > works nicely on FreeBSD-current and while this version is not > > > > thread-safe, it does not conflict with libpthread or libthr's > > > > use of %gs so you don't have to map everything down to libc_r > > > > any more :-). > > > > > > > > There will be a thread-safe driver available for > > > > FreeBSD-current sometime after I commit the pthread parts of > > > > the TLS support code. > > > > > > Im running the new driver on a recent -CURRENT and xorg 6.7.0. > > > When starting zsnes I get this: > > > > > > beard ~> zsnes > > > Fatal error 'Exceeded maximum lock level' at line 261 in file > > > /usr/src/lib/libpthread/thread/thr_cancel.c (errno = 0) Bus error > > > (core dumped) > > > beard ~> > > > > Same error message here when starting neverball. If I map > > libpthread->libc_r it's working again. > > > > xawtv also stopped working. Fortunately setting -xvport manually > > did fix that. > > This might be because libGL calls libpthread's version of open() > before libpthread has initialised properly. This patch might fix it - > it fixes neverball's map compiler for me but I haven't actually run > neverball itself. > > Index: thr_kern.c > =================================================================== > RCS file: /home/ncvs/src/lib/libpthread/thread/thr_kern.c,v > retrieving revision 1.109 > diff -u -r1.109 thr_kern.c > --- thr_kern.c 7 Aug 2004 15:15:38 -0000 1.109 > +++ thr_kern.c 8 Aug 2004 09:57:55 -0000 > _at__at_ -2382,7 +2382,7 _at__at_ > if ((thread == NULL) && > ((thread = malloc(sizeof(struct pthread))) != NULL)) { > bzero(thread, sizeof(struct pthread)); > - if ((thread->tcb = _tcb_ctor(thread)) == NULL) { > + if ((thread->tcb = _tcb_ctor(thread, curthread == NULL)) == NULL) > { free(thread); > thread = NULL; > } else { Ignore this part - thats some uncomitted TLS stuff.Received on Sun Aug 15 2004 - 09:48:43 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:06 UTC