On Wed, 30 Oct 2002, Terry Lambert wrote:

> Doug Rabson wrote:
> > > 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.
> >
> > For what its worth, doing this (defining strong pthread_* symbols in
> > libc_r) makes everything work fine, with or without libXThrStub.
>
> No, this would be bad.  There's some justification for not
> doing this, in allowing programs linked againts libraries linked
> against threaded libraries to link against alternate threads
> libraries.  If the symbols are stong, then this is not possible.

Wrong. Either link the app to libc_r or to libpthread or to
libmyOwnThreads.

>
> Maybe the workaround for now is to make the symbols in libXThrStub.so
> weak?

They *are* weak Terry. The problem is that every bloody definition is weak
so the linker has no way of picking the one definition which will actually
work. The real problem is that the actual working threads library doesn't
provide strong symbols to allow it to override all the other stubs.

-- 
Doug Rabson                             Mail:  [EMAIL PROTECTED]
                                        Phone: +44 20 8348 6160



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to