]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Fix building on macOS
authorPaul Floyd <pjfloyd@wanadoo.fr>
Mon, 11 Apr 2022 20:32:45 +0000 (22:32 +0200)
committerPaul Floyd <pjfloyd@wanadoo.fr>
Mon, 11 Apr 2022 20:32:45 +0000 (22:32 +0200)
Adds a feature check for clockid_t

Also fix a typo in a macro affecting pthread_mutex_clocklock on Linux.

configure.ac
drd/drd_pthread_intercepts.c
helgrind/hg_intercepts.c

index e02dd0bcba67142d257eeb9bde450dd9641ab440..7fd7ff18c6e1dacd7a05ee41800de52a0c7926ac 100755 (executable)
@@ -1527,6 +1527,21 @@ AC_DEFINE([HAVE_PTHREAD_RWLOCK_T], 1,
 AC_MSG_RESULT([no])
 ])
 
+# Check for CLOCKID_T
+
+AC_MSG_CHECKING([for clockid_t])
+
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+#include <time.h>
+]], [[
+  clockid_t c;
+]])], [
+AC_MSG_RESULT([yes])
+AC_DEFINE([HAVE_CLOCKID_T], 1,
+          [Define to 1 if you have the `clockid_t' type.])
+], [
+AC_MSG_RESULT([no])
+])
 
 # Check for PTHREAD_MUTEX_ADAPTIVE_NP
 
index c18e888678f67644a39327a13f2453a714611f82..ecbf0f731b5e53869b25c221ecd438241e77a2a6 100644 (file)
@@ -1016,6 +1016,7 @@ PTH_FUNCS(int,
           (mutex, timeout));
 #endif /* VGO_solaris */
 
+#if defined(HAVE_CLOCKID_T)
 static __always_inline
 int pthread_mutex_clocklock_intercept(pthread_mutex_t *mutex,
                                       clockid_t clockid,
@@ -1035,6 +1036,7 @@ int pthread_mutex_clocklock_intercept(pthread_mutex_t *mutex,
 PTH_FUNCS(int, pthreadZumutexZuclocklock, pthread_mutex_clocklock_intercept,
           (pthread_mutex_t *mutex, clockid_t clockid, const struct timespec *abs_timeout),
           (mutex, clockid, abs_timeout));
+#endif
 
 static __always_inline
 int pthread_mutex_unlock_intercept(pthread_mutex_t *mutex)
@@ -1196,6 +1198,7 @@ PTH_FUNCS(int, condZureltimedwait, pthread_cond_timedwait_intercept,
 #endif /* VGO_solaris */
 
 
+#if defined(HAVE_CLOCKID_T)
 static __always_inline
 int pthread_cond_clockwait_intercept(pthread_cond_t *cond,
                                      pthread_mutex_t *mutex,
@@ -1217,6 +1220,7 @@ PTH_FUNCS(int, pthreadZucondZuclockwait, pthread_cond_clockwait_intercept,
           (pthread_cond_t *cond, pthread_mutex_t *mutex,
             clockid_t clockid, const struct timespec* abstime),
           (cond, mutex, clockid, abstime));
+#endif
 
 
 // NOTE: be careful to intercept only pthread_cond_signal() and not Darwin's
@@ -1814,6 +1818,8 @@ PTH_FUNCS(int, pthreadZurwlockZureltimedrdlockZunp,
           (rwlock, timeout));
 #endif /* VGO_solaris */
 
+
+#if defined(HAVE_CLOCKID_T)
 static __always_inline
 int pthread_rwlock_clockrdlock_intercept(pthread_rwlock_t* rwlock,
                                          clockid_t clockid,
@@ -1834,6 +1840,7 @@ PTH_FUNCS(int,
           pthreadZurwlockZuclockrdlock, pthread_rwlock_clockrdlock_intercept,
           (pthread_rwlock_t* rwlock, clockid_t clockid, const struct timespec *timeout),
           (rwlock, clockid, timeout));
+#endif
 
 static __always_inline
 int pthread_rwlock_timedwrlock_intercept(pthread_rwlock_t* rwlock,
@@ -1861,6 +1868,8 @@ PTH_FUNCS(int, pthreadZurwlockZureltimedwrlockZunp,
           (rwlock, timeout));
 #endif /* VGO_solaris */
 
+
+#if defined(HAVE_CLOCKID_T)
 static __always_inline
 int pthread_rwlock_clockwrlock_intercept(pthread_rwlock_t* rwlock,
                                          clockid_t clockid,
@@ -1881,6 +1890,7 @@ PTH_FUNCS(int,
           pthreadZurwlockZuclockwrlock, pthread_rwlock_clockwrlock_intercept,
           (pthread_rwlock_t* rwlock, clockid_t clockid, const struct timespec *timeout),
           (rwlock, clockid, timeout));
+#endif
 
 
 static __always_inline
index 7260c89aa010c3c34f0a200a02d88ba21d27ba31..0d29cb3bfa2c588298fdc86b24ffe89702f20ae8 100644 (file)
@@ -1110,7 +1110,7 @@ PTH_FUNC(int, pthreadZumutexZureltimedlock, // pthread_mutex_reltimedlock
 }
 #endif
 
-#if defined(VGP_linux)
+#if defined(VGO_linux)
 //-----------------------------------------------------------
 // glibc:   pthread_mutex_clocklock
 //