[CRT] Fix handling of TLS data. Found by the syzygy folks. CORE-9071

svn path=/trunk/; revision=66060
This commit is contained in:
Amine Khaldi 2015-01-19 12:29:18 +00:00
parent efcad39e0e
commit 484fabea89

View file

@ -48,13 +48,13 @@ typedef struct TlsDtorNode {
ULONG _tls_index = 0;
/* TLS raw template data start and end. */
_CRTALLOC(".tls$AAA") char _tls_start = 0;
_CRTALLOC(".tls") char _tls_start = 0;
_CRTALLOC(".tls$ZZZ") char _tls_end = 0;
_CRTALLOC(".CRT$XLA") PIMAGE_TLS_CALLBACK __xl_a = 0;
_CRTALLOC(".CRT$XLZ") PIMAGE_TLS_CALLBACK __xl_z = 0;
_CRTALLOC(".tls") const IMAGE_TLS_DIRECTORY _tls_used = {
_CRTALLOC(".rdata$T") const IMAGE_TLS_DIRECTORY _tls_used = {
(ULONG_PTR) &_tls_start+1, (ULONG_PTR) &_tls_end,
(ULONG_PTR) &_tls_index, (ULONG_PTR) (&__xl_a+1),
(ULONG) 0, (ULONG) 0