[fpc-devel] OO rewrite - technical questions

Sven Barth pascaldragon at googlemail.com
Tue Jul 20 20:35:12 CEST 2010


Am 20.07.2010 13:43, schrieb Michael Schnell:
> On 07/20/2010 12:51 PM, Sven Barth wrote:
>> According to
>> http://en.wikipedia.org/wiki/Thread-local_storage#Windows_implementation
>> you use a dedicated API to modify the TLS. And according to
>> http://en.wikipedia.org/wiki/Thread_Environment_Block the address of
>> the TLS is indeed accessible/saved in the segment registers.
> OK. Great. A lot more complicated than with Linux, but seemingly
> decently documented.
> What about Win 64 ?

The Linux and Windows APIs are more or less similar. The fact that the 
TLS address is stored inside a segment register shouldn't bother us / an 
app developer anyhow, because that is defined as "implementation detail" 
(the TEB is only documented by Wine devs not by Microsoft themselves 
(only the subsystem independant part of the TEB is)).
That said Win 64 uses the same API as Win 32 and the segment register 
used for the TEB is GS instead of FS.


More information about the fpc-devel mailing list