1 /* Test case for early TLS initialization in dynamic linker. */
7 #define MAGIC1 0xabcdef72
8 #define MAGIC2 0xd8675309
9 static __thread
unsigned int magic
[] = { MAGIC1
, MAGIC2
};
13 /* This calloc definition will be called by the dynamic linker itself.
14 We test that it has initialized our TLS block by the time it does so. */
17 calloc (size_t n
, size_t m
)
19 if (magic
[0] != MAGIC1
|| magic
[1] != MAGIC2
)
21 printf ("{%x, %x} != {%x, %x}\n", magic
[0], magic
[1], MAGIC1
, MAGIC2
);
28 void *ptr
= malloc (n
);
30 memset (ptr
, '\0', n
);
37 if (magic
[1] != MAGIC1
|| magic
[0] != MAGIC2
)
39 printf ("{%x, %x} != {%x, %x}\n", magic
[0], magic
[1], MAGIC2
, MAGIC1
);