|
@@ -1,36 +0,0 @@
|
|
-Fix thread detection with uClibc in timer_time.m4
|
|
|
|
-
|
|
|
|
-The timer_time.m4 gl_TIMER_TIME function determines which libraries
|
|
|
|
-need to be linked to get access to the timer function, generally -lrt
|
|
|
|
-for Linux systems. On platforms where threads are used, librt
|
|
|
|
-typically uses thread functions from libpthread.
|
|
|
|
-
|
|
|
|
-However, the test to determine whether the platform has thread or not
|
|
|
|
-is incorrect: it assumes that if the C library is uClibc, then threads
|
|
|
|
-are not available. This is actually not true: uClibc has configurable
|
|
|
|
-thread support, and when thread support is available, librt calls
|
|
|
|
-libpthread functions.
|
|
|
|
-
|
|
|
|
-This is important when static linking is used, because otherwise only
|
|
|
|
--lrt is used at link time, which fails because librt calls undefined
|
|
|
|
-thread functions. Both -lrt and -lpthread must be passed.
|
|
|
|
-
|
|
|
|
-This problem is fixed by making the uClibc thread detection a bit
|
|
|
|
-smarter, thanks to the usage of the __HAS_NO_THREADS__ macro defined
|
|
|
|
-in <bits/uClibc_config.h>, which itself is included by <features.h>.
|
|
|
|
-
|
|
|
|
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
|
|
|
-
|
|
|
|
-Index: b/m4/timer_time.m4
|
|
|
|
-===================================================================
|
|
|
|
---- a/m4/timer_time.m4
|
|
|
|
-+++ b/m4/timer_time.m4
|
|
|
|
-@@ -28,7 +28,7 @@
|
|
|
|
- #include <features.h>
|
|
|
|
- #ifdef __GNU_LIBRARY__
|
|
|
|
- #if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) || (__GLIBC__ > 2)) \
|
|
|
|
-- && !defined __UCLIBC__
|
|
|
|
-+ && !(__UCLIBC__ && __HAS_NO_THREADS__)
|
|
|
|
- Thread emulation available
|
|
|
|
- #endif
|
|
|
|
- #endif
|
|
|