Re: TLS, Thread Local Storage..

From: Marcel Moolenaar <marcel_at_xcllnt.net>
Date: Wed, 25 Feb 2004 12:06:48 -0800
On Wed, Feb 25, 2004 at 10:14:11AM -0800, David O'Brien wrote:
> On Wed, Feb 25, 2004 at 09:45:23AM -0800, Marcel Moolenaar wrote:
> > 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
> 
> I'll update binutils once I know others are FULLY committed to all the
> other parts missing to make TLS work on FreeBSD.

TLS support depends on an up-to-date toolchain. I don't see why
you need to create a dependency in the opposite direction.
Circular dependencies never result in progress.

> > It says that only ia64 has full GNU toolchain support (which is
> > unsurprising).
> 
> This is a big hole and one I'd like to see addressed before I spend time
> on a binutils updated that will keep me from something else.

There's no hole. TLS originated on ia64. The GNU toolchain supports
it completely. We simply don't deal with it in the kernel, rtld or
threading libraries.

> > 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.
> 
> Do you have a plan?  I'll do all I can to make this a success, but I want
> to know 100% others are on-board first.

My plan is to work on it when I don't have any other more urgent
matters to attent to or until somebody else draws my attention to
it by starting without me. This of course conditional on the
premise that I haven't killed myself before that or otherwise
lost interest in it completely. I still have some major ia64 tasks
on my plate that I keep pushing forward due to other more MI issues
that I don't strickly speaking need to be involved in but which
need momentum and support.

The bottomline is that a binutils upgrade is needed for various
reasons. I suggest we focus our attention on that before as to
avoid a last minute update. It takes at least 2 weeks before
we can be confident that everything (including ports) has had a
chance to be built with it. From there we can work on gdb, TLS
and who knows what.

-- 
 Marcel Moolenaar	  USPA: A-39004		 marcel_at_xcllnt.net
Received on Wed Feb 25 2004 - 11:07:22 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:44 UTC