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