This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
libstdc++ wants clock_gettime without libpthread
- From: Jonathan Wakely <jwakely dot gcc at gmail dot com>
- To: libc-alpha at sourceware dot org
- Cc: Paolo Carlini <paolo dot carlini at oracle dot com>, Benjamin Kosnik <bkoz at redhat dot com>
- Date: Thu, 18 Oct 2012 21:09:51 +0100
- Subject: libstdc++ wants clock_gettime without libpthread
Hi,
libstdc++ can be configured to use clock_gettime to implement a
high-resolution C++11 std::chrono::system_clock.
But using clock_gettime() requires libstdc++.so to link to librt.so
which also pulls in libpthread.so, which causes GCC's
__gthread_active_p() function to report the program is multithreaded,
causing libstdc++'s reference counting to use atomic ops.
This means that when configuring libstdc++ you have to choose between
a low-resolution clock or a performance penalty for single-threaded
C++ programs.
Is there any possibility glibc could be changed so we could use
clock_gettime() without causing a dependency on libpthread.so?