From: Aaron W. LaFramboise (aaronrabiddog51_at_[hidden])
Date: 2004-08-01 16:41:18
Bronek Kozicki wrote:
> Here is version working on MSVC6. It uses definition of
> IMAGE_TLS_DIRECTORY structure as defined in Platform SDK installed
> together with MSVC6 (later on it has been updated to contain just 6
> DWORDs). I received this code from Holger Grund, tweaked it to run with
> old Platform SDK headers, added Beeps and second thread and finally
> tested with MSVC6. I think that definition of _tls_used (from Holger) is
> something new and useful :>
Just as a FYI, I now have a copy of MSVC6, and am working on this.
MSVC6 does, in fact, have the necessary support, but there is a bug (I
had noticed this before, and this was one of the reasons I wasn't able
to offer more information a few months ago, and I had entirely forgotten
about it. Oops.). Fortunately, the bug is in the runtime library, not
in the linker or anything else.
I'm trying to find an easy work around for this. I'll report back
within 24 hours.
As a last resort, the TLS directory (that pesky _tls_used symbol) can be
redefined, but this is hackish, and on the edge of what I'd consider
acceptable, and would need to be tested quite extensively to make sure
it is compatible. For example, the suggestions so far for overriding
the TLS directory will break __declspec(thread) and will probably cause
random redefined symbol link failures in some situations.
Aaron W. LaFramboise
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk