From owner-freebsd-threads@FreeBSD.ORG Tue Jun 8 07:23:38 2004 Return-Path: Delivered-To: freebsd-threads@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E87D816A4CE; Tue, 8 Jun 2004 07:23:38 +0000 (GMT) Received: from ylpvm43.prodigy.net (ylpvm43-ext.prodigy.net [207.115.57.74]) by mx1.FreeBSD.org (Postfix) with ESMTP id 70C9643D1F; Tue, 8 Jun 2004 07:23:38 +0000 (GMT) (envelope-from kris@obsecurity.org) Received: from obsecurity.dyndns.org (adsl-63-207-60-35.dsl.lsan03.pacbell.net [63.207.60.35])i587NUqE021887; Tue, 8 Jun 2004 03:23:30 -0400 Received: by obsecurity.dyndns.org (Postfix, from userid 1000) id 6A0D652902; Tue, 8 Jun 2004 00:23:30 -0700 (PDT) Date: Tue, 8 Jun 2004 00:23:30 -0700 From: Kris Kennaway To: John Birrell Message-ID: <20040608072330.GA82183@xor.obsecurity.org> References: <20040608051347.GA3604@freebsd3.cimlogic.com.au> <20040608054127.GB3604@freebsd3.cimlogic.com.au> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="wRRV7LY7NUeQGEoC" Content-Disposition: inline In-Reply-To: <20040608054127.GB3604@freebsd3.cimlogic.com.au> User-Agent: Mutt/1.4.2.1i cc: ports@freebsd.org cc: freebsd-threads@freebsd.org cc: Dan Nelson cc: Sean McNeil Subject: Re: weak implementation of threads has problems - kse fix attached X-BeenThere: freebsd-threads@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Threading on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Jun 2004 07:23:39 -0000 --wRRV7LY7NUeQGEoC Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Jun 08, 2004 at 03:41:27PM +1000, John Birrell wrote: > On Tue, Jun 08, 2004 at 01:34:33AM -0400, Daniel Eischen wrote: > > On Tue, 8 Jun 2004, John Birrell wrote: > >=20 > > > [ cross-post lists cut back, ports added 8-) ] > > >=20 > > > On Mon, Jun 07, 2004 at 11:48:45PM -0500, Dan Nelson wrote: > > > > A good addition to bsd.port.mk, right next to the "possible network > > > > server" etc checks, might be to run ldd on all installed shared > > > > libraries and print a warning if any threads libraries show up. Th= ere > > > > are a huge number of ports that install shlibs linked to libpthread= s. > > >=20 > > > Good idea. > >=20 > > Just picking a message at random to reply to... > >=20 > > In case anyone wonders why we don't use strong references, I chose to > > mimic what Solaris does: > >=20 > > bash-2.05$ nm /lib/libpthread.so.1 | grep pthread_mutex_lock > > 0000000000003c80 T _pthread_mutex_lock > > 0000000000003c80 W pthread_mutex_lock > >=20 > > bash-2.05$ nm /lib/libc.so.1 | grep pthread_mutex_lock > > 0000000000096c38 W _pthread_mutex_lock > > 0000000000096c38 W pthread_mutex_lock > >=20 > > It is also easy to provide your own version of pthread_foo() without > > having any strong references override it. >=20 > Despite the heat-of-the-moment on amd64, FWIW, using linpthread on i386 > on a clean machine with NOLIBC_R set in /etc/make.conf, nothing in libmap= .conf > and just normal ports builds, gnome, mplayer, mozilla, openoffice etc work > fine for me on current (except for the ACPI kernel problems which should > either be fixed or backed out IMNSHO). Yeah, some time last year I went through and fixed or marked BROKEN all the ports that link explicitly to libc_r, and I think they've all been fixed to use PTHREAD_LIBS. Kris --wRRV7LY7NUeQGEoC Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (FreeBSD) iD8DBQFAxWlyWry0BWjoQKURAsj6AJ0QnxMzXMhvgv3/xYy4yYS1ZmOWTgCfbRvK za48KdtyUiXT3yDIpvIFw1U= =1lNE -----END PGP SIGNATURE----- --wRRV7LY7NUeQGEoC--