Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 22 Dec 2003 01:09:05 -0800
From:      Julian Elischer <julian@elischer.org>
To:        Alfred Perlstein <bright@mu.org>
Cc:        hackers@freebsd.org
Subject:   Re: support for __thread
Message-ID:  <3FE6B4B1.4070001@elischer.org>
In-Reply-To: <20031222010257.GY60229@elvis.mu.org>
References:  <20031221203311.GW60229@elvis.mu.org> <Pine.GSO.4.10.10312211712220.24264-100000@pcnet5.pcnet.com> <20031222010257.GY60229@elvis.mu.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Alfred Perlstein wrote:
>
> 
> 
> Well yes, but first would be getting the toolchain to emit
> proper code...

It'd help but the  linker is where all the action happens..
Marcel seems to understand this quite well.

> 

> 
> I can give the ld.so work a shot if someone gives me a general
> idea of how to get at the linker sets and registers in C code.

WHen you have read and understood the document that describes the __thread
implementation then I guess the next step would be to read and understand
ld (and the rt version).


> 
> It would be nice if it worked with libc_r as well, is there
> any chance for that?  Webstone doesn't need kernel threads
> really... the relatively lightweight nature of libc_r doing
> strictly network IO makes it an attractive solution for what
> I'm trying to accomplish.

Once it has been done for libpthread then it is almost free for libc_r
because in libc_r we can set %gx once and forget it and just change the
address it points to whenever we schedule a different thread.


> 


-- 
+------------------------------------+       ______ _  __
|   __--_|\  Julian Elischer         |       \     U \/ / hard at work in
|  /       \ julian@elischer.org     +------>x   USA    \ a very strange
| (   OZ    )                                \___   ___ | country !
+- X_.---._/    presently in San Francisco       \_/   \\
           v



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3FE6B4B1.4070001>