Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 31 Oct 2002 09:04:11 +0000 (GMT)
From:      Doug Rabson <dfr@nlsystems.com>
To:        Daniel Eischen <eischen@pcnet1.pcnet.com>
Cc:        Alexander Kabaev <ak03@gte.com>, Terry Lambert <tlambert2@mindspring.com>, <current@FreeBSD.ORG>
Subject:   Re: [PATCH: libc]Re: gnome on current
Message-ID:  <20021031085946.N22480-100000@herring.nlsystems.com>
In-Reply-To: <Pine.GSO.4.10.10210302224360.23231-100000@pcnet1.pcnet.com>

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

> On Wed, 30 Oct 2002, Alexander Kabaev wrote:
>
> > On Wed, 30 Oct 2002 15:51:48 -0800
> > Terry Lambert <tlambert2@mindspring.com> wrote:
> >
> > > 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.
> >
> > You are ignoring the fact, that objects, loaded at the application startup
> > time are getting searched first, followed RTLD_GLOBAL objects, and finally by
> > the loaded object DAG. LD_PRELOAD objects override them all.
> >
> > >
> > > First strong/last weak should win.  You are saying "last weak" is not
> > > winning.  That's a linker bug.
> >
> > If last weak will win, the normal case when Xthrstub is loaded _after_ libc_r
> > will break. The only way to really fix this is to export pthread_ symbols as
> > strong in libc_r. Exporting them as weak sounds like is a mistake which
> > should be fixed.
>
> I disagree.  See Solaris 6, 7, 8 & 9 for an example.

Actually, I don't much care about Solaris. I care that a popular desktop
package which we have supported for earlier releases does not work. I
don't expect anyone to ever run gnome on Solaris but people certainly run
gnome on FreeBSD.

If you can find some other way that pthread calls can be directed reliably
to libc_r even if some random stub library was loaded first, then fine.
Otherwise, it seems that strong definitions for pthread symbols is the
only reasonable option (which is why gnome2 works on FreeBSD 4.7
presumably).

-- 
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?20021031085946.N22480-100000>