fix crashes in static-linked multithreaded programs without TLS
[musl] / src / env / __init_tls.c
index ab5992c..c341bfc 100644 (file)
@@ -60,6 +60,8 @@ void __init_tls(size_t *aux)
        Phdr *phdr, *tls_phdr=0;
        size_t base = 0;
 
        Phdr *phdr, *tls_phdr=0;
        size_t base = 0;
 
+       libc.tls_size = sizeof(struct pthread);
+
        for (p=(void *)aux[AT_PHDR],n=aux[AT_PHNUM]; n; n--,p+=aux[AT_PHENT]) {
                phdr = (void *)p;
                if (phdr->p_type == PT_PHDR)
        for (p=(void *)aux[AT_PHDR],n=aux[AT_PHNUM]; n; n--,p+=aux[AT_PHENT]) {
                phdr = (void *)p;
                if (phdr->p_type == PT_PHDR)