Doug Rabson wrote:
> > 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.

OK... I guess I don't understand the problem.

If you are not compiling threaded programs for use with X, and
X itself is not threaded, then why the heck was the threads stuff
there in the first place?

If X itself uses threads, then you need to use threads: there's
no option in the matter.

If libX11.so does not reference, the threads symbols, who cares?

If libX11.so *does* reference the threads symbols, then they need
to be there.

You can't have a library that's sort of threaded and sort of not
threaded: pick one.

If you want a seperate libdlopen, then I can help you: I did some
of the code necessary to implement this already, but stopped
because there needs to be a change to the constructor arguments
to pass the address of the arg list down to the constructors, so
you can use a constructor section in a linker set to do the init
that's necessary to get at the symbols.  I didn't want to have to
fight the rest of you to get that mod into libc and the crt0 code.

-- Terry

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

Reply via email to