https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55394
--- Comment #5 from Jonathan Wakely <redi at gcc dot gnu.org> --- (In reply to Markus Trippelsdorf from comment #4) > clang's libc++.so.1 avoids the issue because it is linked with > libpthread.so.0: > [...] > libstc++ isn't: Which is by design and a very important property to keep. I was discussing a similar issue on IRC the other day and came to the conclusion that we should probably just call pthread_once() directly when the thread model is posix. Because that call is in a header not in libstdc++.so it won't make libstdc++.so depend on libpthread.so, but users that call std::call_once will depend on libpthread.so and users that don't call std::call_once won't depend on it. Which is what we want.