Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 30 Oct 2002 15:51:48 -0800
From:      Terry Lambert <tlambert2@mindspring.com>
To:        Doug Rabson <dfr@nlsystems.com>
Cc:        Daniel Eischen <eischen@pcnet1.pcnet.com>, current@freebsd.org
Subject:   Re: [PATCH: libc]Re: gnome on current
Message-ID:  <3DC07094.F67F5C66@mindspring.com>
References:  <20021030234026.M22480-100000@herring.nlsystems.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Doug Rabson wrote:
> > > 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.

NO.

If you have a library that's linked to a library containing string
symbols, then no other library gets a chance to replace to symbols
with its own strong symbols.  The first strong symbol always wins,
and the search is defined to be depth-first.


> > 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.

First strong/last weak should win.  You are saying "last weak" is not
winning.  That's a linker bug.

-- Terry

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?3DC07094.F67F5C66>