1From 98bd6106f8c48bc8f0a27bd712ed4ba6249e9a5f Mon Sep 17 00:00:00 2001 2From: Fabrice Fontaine <fontaine.fabrice@gmail.com> 3Date: Sun, 13 Jan 2019 11:03:51 +0100 4Subject: [PATCH] fix build on m68k with uclibc 5 6uclibc on m68k defines pthread_spinlock_t but does not define 7pthread_spin_trylock so check for this function before using it 8 9Fixes: 10 - http://autobuild.buildroot.org/results/0a6de11c030a4f39e402917809fc6d33fb463d1b 11 12Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> 13[Upstream status: https://github.com/buytenh/ivykis/pull/17] 14--- 15 configure.ac | 3 +++ 16 src/spinlock.h | 4 ++++ 17 2 files changed, 7 insertions(+) 18 19diff --git a/lib/ivykis/configure.ac b/lib/ivykis/configure.ac 20index e9b10c0..24152a9 100644 21--- a/lib/ivykis/configure.ac 22+++ b/lib/ivykis/configure.ac 23@@ -110,6 +110,9 @@ AC_CACHE_CHECK(for linux/netfilter_ipv4.h, ac_cv_header_linux_netfilter_ipv4_h, 24 # Check for pthread_spinlock_t. 25 AC_CHECK_TYPES([pthread_spinlock_t], [], [], [[#include <pthread.h>]]) 26 27+# Check for pthread_spin_trylock 28+AC_CHECK_FUNCS([pthread_spin_trylock]) 29+ 30 # Check which header file defines 'struct timespec'. 31 for hdr in sys/time.h sys/timers.h time.h pthread.h 32 do 33diff --git a/lib/ivykis/src/spinlock.h b/lib/ivykis/src/spinlock.h 34index ebcdbec..d837df8 100644 35--- a/lib/ivykis/src/spinlock.h 36+++ b/lib/ivykis/src/spinlock.h 37@@ -76,7 +76,11 @@ static inline void fallback_spin_unlock(fallback_spinlock_t *lock) 38 39 static inline int pthread_spinlocks_available(void) 40 { 41+#ifdef HAVE_PTHREAD_SPIN_TRYLOCK 42 return !!(pthread_spin_trylock != NULL); 43+#else 44+ return 0; 45+#endif 46 } 47 48 49-- 502.14.1 51 52