diff options
Diffstat (limited to 'libpthread')
| -rw-r--r-- | libpthread/nptl/pthread_mutex_timedlock.c | 6 | ||||
| -rw-r--r-- | libpthread/nptl/sysdeps/unix/sysv/linux/lowlevellock.h | 6 | ||||
| -rw-r--r-- | libpthread/nptl/sysdeps/unix/sysv/linux/timer_settime.c | 5 | 
3 files changed, 14 insertions, 3 deletions
diff --git a/libpthread/nptl/pthread_mutex_timedlock.c b/libpthread/nptl/pthread_mutex_timedlock.c index 25f9ec3b2..d54983315 100644 --- a/libpthread/nptl/pthread_mutex_timedlock.c +++ b/libpthread/nptl/pthread_mutex_timedlock.c @@ -23,6 +23,10 @@  #include <lowlevellock.h>  #include <not-cancel.h> +#if defined(__UCLIBC_USE_TIME64__) +#include "internal/time64_helpers.h" +#endif +  /* We need to build this function with optimization to avoid   * lll_timedlock erroring out with   * error: can't find a register in class ‘GENERAL_REGS’ while reloading ‘asm’ @@ -268,7 +272,7 @@ pthread_mutex_timedlock (  	    int e = INTERNAL_SYSCALL (futex_time64, __err, 4, &mutex->__data.__lock,  				      __lll_private_flag (FUTEX_LOCK_PI,  							  private), 1, -				      abstime); +				      TO_TS64_P(abstime));  #else  	    int e = INTERNAL_SYSCALL (futex, __err, 4, &mutex->__data.__lock,  				      __lll_private_flag (FUTEX_LOCK_PI, diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/lowlevellock.h b/libpthread/nptl/sysdeps/unix/sysv/linux/lowlevellock.h index e72fe5234..6ecc23e25 100644 --- a/libpthread/nptl/sysdeps/unix/sysv/linux/lowlevellock.h +++ b/libpthread/nptl/sysdeps/unix/sysv/linux/lowlevellock.h @@ -24,6 +24,10 @@  #include <sysdep.h>  #include <bits/kernel-features.h> +#if defined(__UCLIBC_USE_TIME64__) +#include "internal/time64_helpers.h" +#endif +  #define FUTEX_WAIT		0  #define FUTEX_WAKE		1  #define FUTEX_REQUEUE		3 @@ -82,7 +86,7 @@      long int __ret;							      \      __ret = INTERNAL_SYSCALL (futex_time64, __err, 4, (futexp),		      \  			      __lll_private_flag (FUTEX_WAIT, private),	      \ -			      (val), (timespec));			      \ +			      (val), (TO_TS64_P(timespec)));			      \      __ret;								      \    }) diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/timer_settime.c b/libpthread/nptl/sysdeps/unix/sysv/linux/timer_settime.c index 80d242f21..1cccf57cb 100644 --- a/libpthread/nptl/sysdeps/unix/sysv/linux/timer_settime.c +++ b/libpthread/nptl/sysdeps/unix/sysv/linux/timer_settime.c @@ -23,6 +23,9 @@  #include <bits/kernel-features.h>  #include "kernel-posix-timers.h" +#if defined(__UCLIBC_USE_TIME64__) +#include "internal/time64_helpers.h" +#endif  #ifdef __NR_timer_settime  # ifndef __ASSUME_POSIX_TIMERS @@ -56,7 +59,7 @@ timer_settime (        /* Delete the kernel timer object.  */  # if defined(__UCLIBC_USE_TIME64__) && defined(__NR_timer_settime64)        int res = INLINE_SYSCALL (timer_settime64, 4, kt->ktimerid, flags, -				value, ovalue); +				TO_ITS64_P(value), ovalue);  # else        int res = INLINE_SYSCALL (timer_settime, 4, kt->ktimerid, flags,  				value, ovalue);  | 
