
Roland wrote:
On Thu, 05 Aug 2004 12:43:11 -0500 "Aaron W. LaFramboise" <aaronrabiddog51@aaronwl.com> wrote:
I positively cannot account for the behavior you are seeing. This does not happen for me. Perhaps it was a bug on an earlier version of MSVC6. For reference, CL reports version 12.00.8168 and LINK reports version 6.00.8168.
Not wanting to be pedantic, but this is very strange, and perhaps the current situation still can be improved when we find out the reason for this.
I did not yet try your code (thank you btw), but I am afraid, that
If you can compose an exact testcase where this happens for you, I will run it here and see if I get the same behavior. Perhaps we are doing something different from each other somehow. this will not address the
problem I am seeing entirely since I see 256 bytes between start of .CRT$XLA and start of .CRT$XLB (where the callback lives).
Probably not.
Yes, and if the compiler does get it right the reordering code simply reduces to a no operation even when not commented out. However this is only true when AddressOfCallbacks is pointing to __xl_a. Perhaps I should again use the "real" starting address instead of __xl_a altough this implies the assuption that _tls_used is really the TLS-dircetory. I tried to avoid this on behalf of your suggestion.
The code I have presented here is my reimplementation of what is in MSVC6's tlssup.obj. If we were presented with the actual source of tlssup.obj, the two sources would be quite similar (I hope :) ). Aaron W. LaFramboise