Don wrote:
Rainer Schuetze wrote:
Hi,
as I'm also hitting some problems with DLLs, here are some issues that
I am now aware of (sorry, can't tell for linux shared objects, but I
guess the situation is similar):
1. For D2, there is a major blocker with DLLs loaded after
intialization on XP because of no TLS support from the OS. There is a
simple workaround for single-threaded application (just setting FS:2c
to a pointer to _tlsstart), but I'm considering a full emulation of
the TLS initialization.
That's incredibly difficult. Have you read this?
http://www.nynaeve.net/?p=189
It'd be great if you can get it to work. But I fear that for Win32, DMD
is going to have to switch to explicit TLS.
I talked to the guy who wrote that. He wrote some workaround code to
make TLS work on older Windows versions, and I asked him if we could
license it. He was reluctant, saying it was experimental only.
So yeah, rolling our own may be the only viable option.