[fpc-devel] OO rewrite - technical questions

Sven Barth pascaldragon at googlemail.com
Mon Jul 19 18:10:04 CEST 2010


> Yes, though I am still puzzled how it works on x86_64; it seems regvars
> there are also accessed using fs, but x86_64 prevents you from writing
> to segment registers.

As mentioned here http://en.wikipedia.org/wiki/X86_64#Windows in the 
10th point Windows uses the GS segment register to store pointers to the 
TEB (see http://en.wikipedia.org/wiki/Thread_Environment_Block ) of the 
current running thread (x86 uses FS). So they should still be writable 
as the TEB is written to by the Win32 subsystem (of which a part runs in 
usermode) as part of its bookkeeping and maybe also by user applications 
to implement the 64 bit equivalent of SEH.


More information about the fpc-devel mailing list