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