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>