tinycc-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Tinycc-devel] Thread-local storage?


From: Steffen Nurpmeso
Subject: Re: [Tinycc-devel] Thread-local storage?
Date: Wed, 04 Sep 2019 17:07:35 +0200
User-agent: s-nail v14.9.15-44-g32f0d949

Hello.

Michael Matz wrote in <address@hidden>:
 |On Tue, 3 Sep 2019, Charles Lohr wrote:
 |
 |> I've been trying to find a way out of this for a bit now.  I'd like to 
 |> carry over some optimizations to a TCC host compile, but, I'm stuck with 
 |> using pthread_key_create and friends.  This is a bit of an annoying 
 |> solution and not optimal... And potentially even rougher on Windows.
 |> 
 |> It looks like all the defines for the sections are in tccelf.h.  Is 
 |> there any hidden handshake sort of way to mark data for a thread local 
 |> section. .tbss?  I've tried __attribute__((section(".tbss"))) to no 
 |> avail; it just sticks them into .bss.  Any ideas?
 |
 |The attribute works and puts the variable into the respective section just 
 |fine.  The problem is rather that thread local storage has to be manage 
 |quite differently and TCC is not doing that.
 |
 |For instance, the .tbss section needs to be put into a different ELF 
 |segment of TLS type, the section type itself needs to be TLS as well, and 
 |then the code sequences to actually access the variables are completely 
 |different.
 |
 |So, yes, merely putting the variables into .tbss sections doesn't work, 
 |and as of right now TCC doesn't support thread local storage.  I started 
 |working on this a couple months ago, but got distracted.  Maybe one of 
 |these days ... :)

Since i know you are an expert here, may i ask if Ulrich Drepper's
"ELF Handling For Thread-Local Storage" version 0.20 still "the
document to know" regarding TLS?

--steffen
|
|Der Kragenbaer,                The moon bear,
|der holt sich munter           he cheerfully and one by one
|einen nach dem anderen runter  wa.ks himself off
|(By Robert Gernhardt)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]