mirror of git://git.musl-libc.org/musl
fix breakage due to initializing thread pointer when loading libs
at initial program load, all libraries must be loaded before the thread pointer can be setup, since the TP-relative addresses of all initial TLS objects must be constant.
This commit is contained in:
parent
00902c7384
commit
017bf140ff
|
@ -533,7 +533,7 @@ static struct dso *load_library(const char *name)
|
||||||
/* Add a shortname only if name arg was not an explicit pathname. */
|
/* Add a shortname only if name arg was not an explicit pathname. */
|
||||||
if (pathname != name) p->shortname = strrchr(p->name, '/')+1;
|
if (pathname != name) p->shortname = strrchr(p->name, '/')+1;
|
||||||
if (p->tls_image) {
|
if (p->tls_image) {
|
||||||
if (!__pthread_self_init()) {
|
if (runtime && !__pthread_self_init()) {
|
||||||
free(p);
|
free(p);
|
||||||
munmap(map, map_len);
|
munmap(map, map_len);
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in New Issue