summaryrefslogtreecommitdiff
path: root/src/ldso
diff options
context:
space:
mode:
Diffstat (limited to 'src/ldso')
-rw-r--r--src/ldso/dynlink.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/ldso/dynlink.c b/src/ldso/dynlink.c
index ca101993..b0d5ff46 100644
--- a/src/ldso/dynlink.c
+++ b/src/ldso/dynlink.c
@@ -1015,7 +1015,7 @@ void *__copy_tls(unsigned char *mem)
dtv[0] = (void *)tls_cnt;
if (!tls_cnt) {
td = (void *)(dtv+1);
- td->dtv = dtv;
+ td->dtv = td->dtv_copy = dtv;
return td;
}
@@ -1041,7 +1041,7 @@ void *__copy_tls(unsigned char *mem)
memcpy(dtv[p->tls_id], p->tls_image, p->tls_len);
}
#endif
- td->dtv = dtv;
+ td->dtv = td->dtv_copy = dtv;
return td;
}
@@ -1071,7 +1071,7 @@ void *__tls_get_new(size_t *v)
memcpy(newdtv, self->dtv,
((size_t)self->dtv[0]+1) * sizeof(void *));
newdtv[0] = (void *)v[0];
- self->dtv = newdtv;
+ self->dtv = self->dtv_copy = newdtv;
}
/* Get new TLS memory from all new DSOs up to the requested one */