3 #include <machine/tls.h>
17 #ifdef _PTHREADS_DEBUGGING
20 #include "un-namespace.h"
22 #include "thr_private.h"
24 _libthread_distribute_static_tls(size_t offset, void *src,
25 size_t len, size_t total_len);
28 _libthread_distribute_static_tls(size_t offset, void *src,
29 size_t len, size_t total_len)
31 struct pthread *curthread = tls_get_curthread();
35 THREAD_LIST_LOCK(curthread);
36 TAILQ_FOREACH(td, &_thread_list, tle) {
37 tlsbase = (char *)td->tcb - offset;
38 memcpy(tlsbase, src, len);
39 memset(tlsbase + len, 0, total_len - len);
41 THREAD_LIST_UNLOCK(curthread);
44 __strong_reference(_libthread_distribute_static_tls, _pthread_distribute_static_tls);