diff options
-rw-r--r-- | libpthread/nptl/Makefile.in | 2 | ||||
-rw-r--r-- | libpthread/nptl/init.c | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/libpthread/nptl/Makefile.in b/libpthread/nptl/Makefile.in index d33656532..1e9f98cea 100644 --- a/libpthread/nptl/Makefile.in +++ b/libpthread/nptl/Makefile.in @@ -220,7 +220,7 @@ else LDFLAGS-libpthread.so := $(LDFLAGS) endif -LDFLAGS-libpthread.so += $(top_builddir)lib/$(UCLIBC_LDSO_NAME)-$(VERSION).so $(top_builddir)lib/libdl-$(VERSION).so +LDFLAGS-libpthread.so += $(top_builddir)lib/$(UCLIBC_LDSO_NAME)-$(VERSION).so $(top_builddir)lib/libdl-$(VERSION).so -Wl,-z,nodelete,-z,initfirst,-init=__pthread_initialize_minimal_internal LIBS-libpthread.so := $(LIBS) diff --git a/libpthread/nptl/init.c b/libpthread/nptl/init.c index 44f2c86f1..b70de84fd 100644 --- a/libpthread/nptl/init.c +++ b/libpthread/nptl/init.c @@ -260,6 +260,12 @@ static bool __nptl_initial_report_events __attribute_used__; void __pthread_initialize_minimal_internal (void) { + static int initialized = 0; + + if (initialized) + return; + initialized = 1; + #ifndef SHARED /* Unlike in the dynamically linked case the dynamic linker has not taken care of initializing the TLS data structures. */ |