1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-08-01 10:06:57 +03:00

* 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.
This commit is contained in:
Ulrich Drepper
2008-10-31 20:50:16 +00:00
parent e148a6443c
commit 41e25904a5
5 changed files with 79 additions and 2 deletions

View File

@ -756,7 +756,10 @@ __tls_get_addr (GET_ADDR_ARGS)
void *p;
if (__builtin_expect (dtv[0].counter != GL(dl_tls_generation), 0))
the_map = _dl_update_slotinfo (GET_ADDR_MODULE);
{
the_map = _dl_update_slotinfo (GET_ADDR_MODULE);
dtv = THREAD_DTV ();
}
p = dtv[GET_ADDR_MODULE].pointer.val;