Files
semi-libc/src/env/__reset_tls.c
T
Rich Felker c267fb849f remove useless visibility application from static-linking-only code
part of the goal here is to eliminate use of the ATTR_LIBC_VISIBILITY
macro outside of libc.h, since it was never intended to be 'public'.
2015-04-22 02:36:54 -04:00

22 lines
352 B
C

#ifndef SHARED
#include <string.h>
#include "pthread_impl.h"
extern struct tls_image {
void *image;
size_t len, size, align;
} __static_tls;
#define T __static_tls
void __reset_tls()
{
if (!T.size) return;
pthread_t self = __pthread_self();
memcpy(self->dtv[1], T.image, T.len);
memset((char *)self->dtv[1]+T.len, 0, T.size-T.len);
}
#endif