From owner-freebsd-arch@FreeBSD.ORG Fri Apr 22 19:51:14 2005 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 462D216A4CE; Fri, 22 Apr 2005 19:51:14 +0000 (GMT) Received: from pooker.samsco.org (pooker.samsco.org [168.103.85.57]) by mx1.FreeBSD.org (Postfix) with ESMTP id CCB4A43D55; Fri, 22 Apr 2005 19:51:13 +0000 (GMT) (envelope-from scottl@samsco.org) Received: from [192.168.254.11] (junior-wifi.samsco.home [192.168.254.11]) (authenticated bits=0) by pooker.samsco.org (8.13.1/8.13.1) with ESMTP id j3MJqUru002755; Fri, 22 Apr 2005 13:52:30 -0600 (MDT) (envelope-from scottl@samsco.org) Message-ID: <426954D6.1080704@samsco.org> Date: Fri, 22 Apr 2005 13:47:34 -0600 From: Scott Long User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.7.5) Gecko/20050218 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Daniel Eischen , peter@freebsd.org References: In-Reply-To: Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-2.8 required=3.8 tests=ALL_TRUSTED autolearn=failed version=3.0.2 X-Spam-Checker-Version: SpamAssassin 3.0.2 (2004-11-16) on pooker.samsco.org cc: sgk@troutmask.apl.washington.edu cc: freebsd-arch@freebsd.org Subject: Re: libpthread version bump X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Apr 2005 19:51:14 -0000 Daniel Eischen wrote: > On Fri, 22 Apr 2005, Scott Long wrote: > > >>Warner Losh wrote: >> >>>>Having lived through the std{io,err,out} libc snafu, the >>>>libm.so.2 snafu, and now the libc.so.5/libpthread.so.1 >>>>problem, I will once again suggest that *ALL* library >>>>version numbers should be bumped when a new branch is >>>>created. >>> >>> >>>Yes. When a library version is bumped, *ALL* libraries that depend on >>>it need to be bumped. Sadly, this has proven to be too difficult >>>because it would create an unholy maintanence problem for the ports. >>> >>>Warner >> >>Well, there is indeed a problem at the moment of libc being bumped for >>6-current but not libpthread. However, I think that the particular >>problem with the fs/gs change goes above and beyond this problem. So, >>we have about 2 months to sort this all out. Any volunteers? > > > I'm not sure I fully understand the problem, but can't you > just make libpthread avoid using *setbase() if the symbol > isn't available and use the ldt functions as a fallback? > > #pragma weak i386_get_gsbase > static void *have_gsbase = i386_get_gsbase; > > ... > > if (have_gsbase == NULL) { > /* use ldt stuff */ > } > else { > /* use i386_get_gsbase */ > } > > You just need something else to force the symbol i386_get_gsbase > to be loaded; the #pragma weak won't force it to be loaded even > if it is present. > If that's all that it takes, then that's fine by mean. I don't understand the mechanics of the problem well enough to comment otherwise. Peter? Scott