From owner-freebsd-current@FreeBSD.ORG Sat Aug 5 00:16:28 2006 Return-Path: X-Original-To: freebsd-current@freebsd.org Delivered-To: freebsd-current@freebsd.org Received: from localhost.my.domain (localhost [127.0.0.1]) by hub.freebsd.org (Postfix) with ESMTP id 9340616A4DE; Sat, 5 Aug 2006 00:16:28 +0000 (UTC) (envelope-from davidxu@freebsd.org) From: David Xu To: freebsd-current@freebsd.org Date: Sat, 5 Aug 2006 08:16:23 +0800 User-Agent: KMail/1.8.2 References: <44D12AC0.90009@sippysoft.com> <44D173B7.6040302@FreeBSD.org> <20060803224133.R87008@volatile.chemikals.org> In-Reply-To: <20060803224133.R87008@volatile.chemikals.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200608050816.23656.davidxu@freebsd.org> Cc: "current@freebsd.org" , Steve Kargl , Peter Grehan , freebsd-ppc@freebsd.org Subject: Re: Looks like threading is b0rken on FreeBSD/powerpc X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 05 Aug 2006 00:16:29 -0000 On Friday 04 August 2006 10:47, Wesley Morgan wrote: > On Wed, 2 Aug 2006, Maxim Sobolev wrote: > > Peter Grehan wrote: > >>> #0 0x2183f7b4 in tls_get_addr_common (dtvp=0x1a31490, index=2, > >>> offset=4294934528) at rtld.c:2663 > >>> #1 0x218397f8 in __tls_get_addr (ti=0x21bbf0e8) at > >> > >> I think you might want to try point libpthread at libthr with > >> libmap.conf. TLS is known to work for that where I don't think it works > >> for libpthread. > > > > But libpthread works in 6.0. What's the difference? > > > > -Maxim > > FWIW, recently csup stopped working for me in -current on i386. It fails > when checking the errno set after calling access() to check if a file > exists: > > Updater failed: Cannot create directories leading to > "/usr/ports/science/p5-Algorithm-SVMLight/Makefile": Unknown error: 0 > > According to gdb, errno is being set correctly but changes almost > immediately back to zero. Not sure how/why, and I'm not sure that I'm even > using gdb correctly for threaded applications. Switching to libthr with > libmap.conf results in the same error. > > I swear that it had something to do with turning on symbol versioning, but > attempting to turn it back off was not a fun experience and didn't have > the patience to see it through. libthr does not have mutliple versioning, the hack in libpthread is rather dirty, there is a plan to bump libthr version when symbol versioning is enabled and get rid of LIBTHREAD_1_0 symbol, it should only exist in libthr.so.2, libthr.so.3 will not have it. David Xu