From owner-freebsd-current@FreeBSD.ORG Wed Feb 25 09:46:04 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E2A8616A4CE for ; Wed, 25 Feb 2004 09:46:04 -0800 (PST) Received: from ns1.xcllnt.net (209-128-86-226.bayarea.net [209.128.86.226]) by mx1.FreeBSD.org (Postfix) with ESMTP id BC67C43D2F for ; Wed, 25 Feb 2004 09:46:04 -0800 (PST) (envelope-from marcel@xcllnt.net) Received: from ns1.xcllnt.net (localhost [127.0.0.1]) by ns1.xcllnt.net (8.12.10/8.12.10) with ESMTP id i1PHjVOE058191; Wed, 25 Feb 2004 09:45:31 -0800 (PST) (envelope-from marcel@ns1.xcllnt.net) Received: (from marcel@localhost) by ns1.xcllnt.net (8.12.10/8.12.10/Submit) id i1PHjNUb058190; Wed, 25 Feb 2004 09:45:23 -0800 (PST) (envelope-from marcel) Date: Wed, 25 Feb 2004 09:45:23 -0800 From: Marcel Moolenaar To: Julian Elischer Message-ID: <20040225174522.GC58071@ns1.xcllnt.net> References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.5.1i cc: FreeBSD current users Subject: Re: TLS, Thread Local Storage.. X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 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: Wed, 25 Feb 2004 17:46:05 -0000 On Wed, Feb 25, 2004 at 12:17:47AM -0800, Julian Elischer wrote: > > > Who can tell me how well our linker understands what gcc puts out when > given a __thread directive.. We need a binutils update anyway. The assembler doesn't understand the output of the compiler on most platforms anyway. See also: http://people.freebsd.org/~marcel/tls.html It says that only ia64 has full GNU toolchain support (which is unsurprising). > The BIG question is "who knows enough about the dynamic linker to be > able to make this work for dynamic libraries..?" I gather that our > dynamic linker is not the one that linux uses and is specific to us. (Am > I wrong?) No, you're correct. There's a big part for the dynamic linker to make it all work. The hard part for me now is how to distribute the related features across kernel, rtld, libc and the various threading libraries to make it work in all cases (ie complete vs shared, static vs dynamic and threaded vs non-threaded) and without pessimizing non-TLS binaries. -- Marcel Moolenaar USPA: A-39004 marcel@xcllnt.net