From 41e25904a520d49ba14d7e9a0a7ea84731572ebd Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Fri, 31 Oct 2008 20:50:16 +0000 Subject: * elf/dl-tls.c (__tls_get_addr): After calling _dl_update_slotinfo refetch dtv, as it might have changed. * elf/Makefile: Add rules to build and run tst-tls18. * elf/tst-tls18.c: New test. * elf/tst-tlsmod18a.c: New file. --- elf/tst-tlsmod18a.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 elf/tst-tlsmod18a.c (limited to 'elf/tst-tlsmod18a.c') diff --git a/elf/tst-tlsmod18a.c b/elf/tst-tlsmod18a.c new file mode 100644 index 0000000000..1d728daa05 --- /dev/null +++ b/elf/tst-tlsmod18a.c @@ -0,0 +1,21 @@ +#include + +#ifndef N +# define N 0 +#endif + +static __thread int var = 4; + +int +test (void) +{ + int *p = &var; + /* GCC assumes &var is never NULL, add optimization barrier. */ + asm volatile ("" : "+r" (p)); + if (p == NULL || *p != 4) + { + printf ("fail %d %p\n", N, p); + return 1; + } + return 0; +} -- cgit v1.2.1