Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 3 Feb 2008 12:11:12 -0500
From:      Alexander Kabaev <kabaev@gmail.com>
To:        Kostik Belousov <kostikbel@gmail.com>
Cc:        Dag-Erling Sm?rgrav <des@des.no>, current@freebsd.org, Peter Wemm <peter@wemm.org>, threads@freebsd.org
Subject:   Re: Symbol versioning errors in libthr
Message-ID:  <20080203121112.426a8c25@kan.dnsalias.net>
In-Reply-To: <20080203162918.GK57756@deviant.kiev.zoral.com.ua>
References:  <861w7um5o5.fsf@ds4.des.no> <e7db6d980802030759x6db9bf1dq8992542bd8d2e017@mail.gmail.com> <20080203162918.GK57756@deviant.kiev.zoral.com.ua>

next in thread | previous in thread | raw e-mail | index | archive | help
--Sig_/d0pqHUKmG9oGRdDuaK0YmMI
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable

On Sun, 3 Feb 2008 18:29:18 +0200
Kostik Belousov <kostikbel@gmail.com> wrote:

> On Sun, Feb 03, 2008 at 08:59:45AM -0700, Peter Wemm wrote:
> > On Feb 3, 2008 8:16 AM, Dag-Erling Sm?rgrav <des@des.no> wrote:
> > > Here's an excerpt from the RELENG_7 vs HEAD diff of libthr's
> > > symbol map:
> > >
> > > --- pthread.map 13 May 2007 14:12:39 -0000      1.18
> > > +++ pthread.map 20 Dec 2007 04:32:28 -0000      1.21
> > > @@ -84,9 +84,13 @@
> > >         pthread_multi_np;
> > >         pthread_mutex_destroy;
> > >         pthread_mutex_getprioceiling;
> > > +       pthread_mutex_getspinloops_np;
> > > +       pthread_mutex_getyieldloops_np;
> > >         pthread_mutex_init;
> > >         pthread_mutex_lock;
> > >         pthread_mutex_setprioceiling;
> > > +       pthread_mutex_setspinloops_np;
> > > +       pthread_mutex_setyieldloops_np;
> > >         pthread_mutex_timedlock;
> > >         pthread_mutex_trylock;
> > >         pthread_mutex_unlock;
> > >
> > > These functions are all in FBSD_1.0, but they were introduced
> > > after the branch and never MFCed, so if I understand how we've
> > > implemented symbol versioning, they should be in FBSD_1.1.
> > >
> > > Unless someone argues credibly for keeping them in FBSD_1.0, I
> > > will move them to FBSD_1.1 in a few days.
> > >
> > > DES
> >=20
> > I'm not sure I see the point in that.  Consider the
> > not-moving-to-1.1 case.  If somebody takes an 8.0 binary and runs
> > it on 7.x, then they'll get a 'symbol not found' error.  On the
> > other hand, if they're moved and somebody tries the same thing,
> > then they still get the same kind of 'symbol not found' error but
> > with just one character different.
> Additional difference is that presence of the version itself is
> checked when the image is activated. This means that instead of abort
> in the middle of the execution since the
> rtld cannot find the symbol, the program gives error on the start.o
>=20
> AFAIR, this is original (Sun) usage of the versioning, before GNU
> extended it to allow individual version per symbol.

This is absolutely correct description of the desired use of version
names, according to both GNU and Sun.
=20
> I support DES to fix this in the proposed way.

Same here.
--=20
Alexander Kabaev

--Sig_/d0pqHUKmG9oGRdDuaK0YmMI
Content-Type: application/pgp-signature; name=signature.asc
Content-Disposition: attachment; filename=signature.asc

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.8 (FreeBSD)

iD8DBQFHpfWwQ6z1jMm+XZYRAiT3AKCEaMYe426bLPKGK0+/g/mdLP+PIwCfdQwL
mr5lolibP1OyjRscuNFvOls=
=8uRz
-----END PGP SIGNATURE-----

--Sig_/d0pqHUKmG9oGRdDuaK0YmMI--



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