It was an alignment error.  I thought the alignment check was active in
SysInitThreadvar but a) it was commented out, and b) the ifdef check was
incorrect anyway.

On Fri, Jul 3, 2020 at 9:47 AM Christo Crause <[email protected]>
wrote:

> Busy working on threading and TLS, started with a stand-alone unit along
> the lines of cthreads and using OS memory allocation for storing the TLS
> blocks. After initializing (calling SysInitMultithreading) a block of
> memory is allocated and threadvars copied.  However there appears to be a
> two byte offset in the location of the threadvars after relocating them,
> see test and output below.
>
_______________________________________________
fpc-devel maillist  -  [email protected]
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to