From owner-freebsd-threads@FreeBSD.ORG Mon Sep 24 18:00:41 2007 Return-Path: Delivered-To: freebsd-threads@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id ACF6716A420 for ; Mon, 24 Sep 2007 18:00:41 +0000 (UTC) (envelope-from lavajoe@gentoo.org) Received: from shadow.wildlava.net (shadow.wildlava.net [67.40.138.81]) by mx1.freebsd.org (Postfix) with ESMTP id 7CDD213C47E for ; Mon, 24 Sep 2007 18:00:41 +0000 (UTC) (envelope-from lavajoe@gentoo.org) Received: from [67.40.138.82] (crater.wildlava.net [67.40.138.82]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by shadow.wildlava.net (Postfix) with ESMTP id B7D7A8F431 for ; Mon, 24 Sep 2007 12:00:40 -0600 (MDT) Message-ID: <46F7FB47.5060005@gentoo.org> Date: Mon, 24 Sep 2007 12:00:39 -0600 From: Joe Peterson User-Agent: Thunderbird 2.0.0.6 (X11/20070822) MIME-Version: 1.0 To: freebsd-threads@freebsd.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: How will libpthread, libthr, etc. be linked in 7.0? X-BeenThere: freebsd-threads@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Threading on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Sep 2007 18:00:41 -0000 Hi all, I'm still working on my libpthread/libthr "symbol mixing" issue that caused the %%gs register to get clobbered. If you recall, it seems that the libmap.conf mechanism does not completely prevent symbols in the old libpthread.so from being used along with libthr.so symbols - i.e. a big problem. Anyway, for my gentoo/FreeBSD 6.2 system, I am experimenting with symlinking the libs for a more sure way to prevent the problem, and it's working great so far. No crashes and no other problems so far. Also, I found this post: http://lists.freebsd.org/pipermail/freebsd-threads/2007-May/003930.html which talks about what is being done in 7.0. Looks like similar symlinking is either now being done or is being considered. Can anyone here give a status on what is linked to what in 7.0? If the following: /usr/lib/libpthread.a -> libthr.a /usr/lib/libpthread.so -> libthr.so /usr/lib/libpthread_p.a -> libthr_p.a is being done, then this would be similar to what I am doing now on my 6.2 system. BTW, I am also linking libc_r.so to libthr.so, which may or may not be overkill. The issue I saw seemed libpthread-specific, but for safety's sake, I went this one step further. If anyone has any thoughts on this, let me know. Thanks! Joe