Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 30 Oct 2002 22:09:31 +0000 (GMT)
From:      Doug Rabson <dfr@nlsystems.com>
To:        Terry Lambert <tlambert2@mindspring.com>
Cc:        Daniel Eischen <eischen@pcnet1.pcnet.com>, <current@freebsd.org>
Subject:   Re: [PATCH: libc]Re: gnome on current
Message-ID:  <20021030220614.R22480-100000@herring.nlsystems.com>
In-Reply-To: <3DC047A4.7E4A260@mindspring.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 30 Oct 2002, Terry Lambert wrote:

> Doug Rabson wrote:
> > On Wed, 30 Oct 2002, Terry Lambert wrote:
> > > Daniel Eischen wrote:
> > > > Patch looks correct.
> > >
> > > Please commit?  8-).
> >
> > Well I made a libc with this patch and rebuilt XFree86-4-libraries without
> > libXThrStub but I ran into problems compiling the clients. The clients
> > *require* someone in the link to supply the pthread_* symbols and libc.so
> > only had _pthread_* symbols. I added some more weak references to libc.so
> > but that just gets us back to square one.
> >
> > The problem is that the sawfish configuration tools are written using some
> > extensible lisp/scheme thing called rep. The main rep binary links against
> > libc.so so that occurs early in the list. Later on stacks of libraries are
> > loaded dynamically, some of which depend on libc_r.so. Unfortunately
> > libc_r.so is far too late in the list to get a lookin and it dies in
> > exactly the same way as before, for the same reason (calling a
> > non-functional stub version of pthread_setspecific().
>
> You need to link the library against libc_r.so instead of libXThrStub.so.

Probably not. Doing that breaks the existing 'feature' of being able to
use X11 in entirely non-threaded programs. I'm not sure whether that is
acceptable. It also stops programs from being able to select between
several thread implementations, of which -current has two.

I think the only sensible solution to this problem is for libraries which
provide an actual pthreads implementation (rather than a set of stubs) to
define strong symbols. Wierd debugging wrappers can still be achieved via
some dlopen/dlsym hackery.

-- 
Doug Rabson				Mail:  dfr@nlsystems.com
					Phone: +44 20 8348 6160



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




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