From owner-freebsd-arch@FreeBSD.ORG Fri Apr 22 21:26:38 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 4F58C16A4CE; Fri, 22 Apr 2005 21:26:38 +0000 (GMT) Received: from mail.ntplx.net (mail.ntplx.net [204.213.176.10]) by mx1.FreeBSD.org (Postfix) with ESMTP id BFFD443D53; Fri, 22 Apr 2005 21:26:37 +0000 (GMT) (envelope-from deischen@freebsd.org) Received: from sea.ntplx.net (sea.ntplx.net [204.213.176.11]) j3MLQaDB025109; Fri, 22 Apr 2005 17:26:36 -0400 (EDT) Date: Fri, 22 Apr 2005 17:26:36 -0400 (EDT) From: Daniel Eischen X-X-Sender: eischen@sea.ntplx.net To: Peter Wemm In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Virus-Scanned: by AMaViS and Clam AntiVirus (mail.ntplx.net) cc: peter@freebsd.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 Reply-To: Daniel Eischen 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 21:26:38 -0000 On Fri, 22 Apr 2005, Daniel Eischen wrote: > On Fri, 22 Apr 2005, Peter Wemm wrote: > > > > > #2 can also make it a little easier to run 5.x i386 binaries on amd64 - > > we could kill of most of those nasty ifdefs. > > > > #1 would end up something like: > > #pragma weak i386_set_gsbase > > #pragma weak i386_get_gsbase > > static void (*have_get_gsbase)(void) = i386_get_gsbase; > > static void (*have_set_gsbase)(void *) = i386_set_gsbase; > > if (have_i386_get_gsbase == NULL || have_get_gsbase() == -1) { > > use_ldt(); > > } else { > > use_gsbase(); > > } > > I think that is sufficient to test if the symbols are present and test > > if they work at runtime... > > I worked up a quick patch. It compiles, but it will be some time > before I can try it. > > http://people.freebsd.org/~deischen/kse/libpthread.diffs Note that I also slightly prefer #2, since you would have to make the #pragma weak hacks to both libpthread and libthr. -- DE