mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-01 17:30:07 +00:00
29e9874a04
The pthread_mutex_clocklock and pthread_mutex_timedlock have been converted to support 64 bit time. This change uses: - New __futex_clocklock_wait64 (instead of lll_timedwait) from ./sysdeps/nptl/futex-helpers.c and - New __futex_clocklock64 function (instead of lll_clocklock) - New futex_lock_pi64 defined in sysdeps/nptl/futex-internal.h The pthread_mutex_{clock|timed}lock only accepts absolute time. Moreover, there is no need to check for NULL passed as *abstime pointer to the syscalls as those calls have exported symbols marked with __nonull attribute for abstime. Some architectures - namely x86, powerpc and s390 - do support lock elision. For those - adjustments have been made in arch specific elision-*.c files to use __futex_clocklock64 instead of lll_clocklock. The __lll_lock_elision (aliased to __lll_clocklock_elision in e.g. sysdeps/unix/sysv/linux/s390/elision-timed.c) just uses, in this patch provided, __futex_clocklock64. For systems with __TIMESIZE != 64 && __WORDSIZE == 32: - Conversions between 64 bit time to 32 bit are necessary - Redirection to pthread_mutex_{clock|timed}lock will provide support for 64 bit time Build tests: ./src/scripts/build-many-glibcs.py glibcs Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org> |
||
---|---|---|
.. | ||
bits | ||
powerpc32 | ||
powerpc64 | ||
sys | ||
configure | ||
configure.ac | ||
dl-auxv.h | ||
dl-brk.S | ||
dl-cache.h | ||
dl-static.c | ||
elision-conf.c | ||
elision-conf.h | ||
elision-lock.c | ||
elision-timed.c | ||
elision-trylock.c | ||
elision-unlock.c | ||
force-elision.h | ||
get_timebase_freq.c | ||
gettimeofday.c | ||
htm.h | ||
Implies | ||
ioctl.c | ||
ipc_priv.h | ||
kernel_sigaction.h | ||
kernel_termios.h | ||
kernel-features.h | ||
ldconfig.h | ||
ldd-rewrite.sed | ||
ldsodefs.h | ||
libc-start.c | ||
libc-start.h | ||
libc-vdso.h | ||
lowlevellock.h | ||
Makefile | ||
nldbl-abi.h | ||
pt-longjmp.c | ||
pthread_attr_setstack.c | ||
pthread_attr_setstacksize.c | ||
pthread_mutex_cond_lock.c | ||
pthread_mutex_lock.c | ||
pthread_mutex_timedlock.c | ||
pthread_mutex_trylock.c | ||
readelflib.c | ||
rt-sysdep.c | ||
sigcontextinfo.h | ||
struct_kernel_shmid64_ds.h | ||
syscall.S | ||
sysconf.c | ||
sysdep.c | ||
sysdep.h | ||
test-gettimebasefreq-static.c | ||
test-gettimebasefreq.c | ||
test-powerpc-linux-sysconf.c | ||
time.c | ||
Versions | ||
xstatver.h |