aboutsummaryrefslogtreecommitdiff
path: root/sysdeps
AgeCommit message (Collapse)Author
2020-02-10ldbl-128ibm-compat: set PRINTF_CHK flag in {,v}sprintf_chkPaul E. Murphy
This should be unconditionally set to match the common implementation, and fixes multiple test failures related to sprintf. Reviewed-by: Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com>
2020-02-10nptl: update default pthread-offsets.hAndreas Schwab
Remove unused definitions, and correct __PTHREAD_RWLOCK_FLAGS_OFFSET for __WORDSIZE == 64.
2020-02-10nptl: add missing pthread-offsets.hAndreas Schwab
All architectures using their own definition of struct __pthread_rwlock_arch_t need to provide their own pthread-offsets.h.
2020-02-10pthread: Move some join tests from nptl to sysdeps/pthreadSamuel Thibault
So they can be checked with htl too.
2020-02-10pthread: Move most barrier tests from nptl to sysdeps/pthreadSamuel Thibault
So they can be checked with htl too.
2020-02-10htl: Fix barrier_wait with one threadSamuel Thibault
2020-02-10pthread: Move most sem tests from nptl to sysdeps/pthreadSamuel Thibault
So they can be checked with htl too.
2020-02-10htl: Make sem_wait/sem_timedwait interruptibleSamuel Thibault
2020-02-10htl: Make sem_open return ENOSYSSamuel Thibault
instead of EOPNOTSUPP, which is for sockets.
2020-02-10htl: Add support for semaphore maximum valueSamuel Thibault
2020-02-10pthread: Move key tests from nptl to sysdeps/pthreadSamuel Thibault
So they can be checked with htl too.
2020-02-10hurd: Make nanosleep a cancellation pointSamuel Thibault
2020-02-10htl: Add support for libc cancellation pointsSamuel Thibault
2020-02-10htl: clean __pthread_get_cleanup_stack hidden protoSamuel Thibault
2020-02-09htl: XFAIL rwlock tests which need pshared supportSamuel Thibault
2020-02-09pthread: Move some rwlock tests from nptl to sysdeps/pthreadSamuel Thibault
So they can be checked with htl too.
2020-02-09pthread: Move most once tests from nptl to sysdeps/pthreadSamuel Thibault
So they can be checked with htl too.
2020-02-09htl: support cancellation during pthread_onceSamuel Thibault
2020-02-09pthread: Move most cond tests from nptl to sysdeps/pthreadSamuel Thibault
So they can be checked with htl too.
2020-02-09htl: make pthread_cond_destroy return EBUSY on waitersSamuel Thibault
2020-02-09htl: Report missing mutex lock on pthread_cond_*waitSamuel Thibault
2020-02-09pthread: Move some attr tests from nptl to sysdeps/pthreadSamuel Thibault
So they can be checked with htl too.
2020-02-09htl: Fix default guard sizeSamuel Thibault
When it is not hardcoded by the architecture with PAGESIZE, we need to use the dynamic values from __vm_page_size.
2020-02-09pthread: Move most mutex tests from nptl to sysdeps/pthreadSamuel Thibault
So they can be checked with htl too. XFAIL tst-mutex4, for which support is still missing in htl.
2020-02-09pthread: Move spin tests from nptl to sysdeps/pthreadSamuel Thibault
So they can be checked with htl too.
2020-02-09htl: make pthread_spin_lock really spinSamuel Thibault
__spin_lock would actually use gsync_wait to block, which is not what pthread_spin_lock is about.
2020-02-09htl: Avoid check-installed-headers looking at inlinesSamuel Thibault
2020-02-09htl: Do not put spin_lock inlines in public headersSamuel Thibault
They were not getting used anyway. Also do not make libsupport use them, it would make tests using it have to be made to link against libmachuser for gsync_wait.
2020-02-09pthread: Move basic tests from nptl to sysdeps/pthreadSamuel Thibault
So they can be checked with htl too.
2020-02-09htl: Fix calling pthread_exit in the child of a forkSamuel Thibault
We need to reset the threads counter, otherwise pthread_exit() would not call exit(0).
2020-02-09x86: Remove <bits/select.h> and use the generic versionFlorian Weimer
Particularly on CPUs without ERMS, the string instructions are slow, so it is unclear whether this architecture-specific implementation is in fact an optimization.
2020-02-09C11 threads: Move implementation to sysdeps/pthreadSamuel Thibault
so it gets shared by nptl and htl. Also add htl versions of thrd_current and thrd_yield. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2020-02-09htl: Add C11 threads types definitionsSamuel Thibault
2020-02-09nptl: Move nptl-specific types to separate headerSamuel Thibault
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2020-02-09htl: Make __PTHREAD_ONCE_INIT more flexibleSamuel Thibault
by moving its (struct __pthread_once) cast into PTHREAD_ONCE_INIT. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2020-02-09htl: Add support for C11 threads behaviorSamuel Thibault
Essentially properly calling the thread function which returns an int instead of a void*. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2020-02-09htl: Add missing internal functions declarationsSamuel Thibault
2020-02-09htl: Rename _pthread_mutex_init/destroy to __pthread_mutex_init/destroySamuel Thibault
2020-02-09htl: Move internal mutex/rwlock symbols to GLIBC_PRIVATESamuel Thibault
Their prototypes have never been made public, and they are not used outside libc (checked on the whole Debian archive)
2020-02-09Linux: Add io/tst-o_path-locks testFlorian Weimer
The O_PATH-based fchmodat emulation will rely on the fact that closing an O_PATH descriptor never releases POSIX advisory locks, so this commit adds a test case for this behavior.
2020-02-09htl: Remove duplicate filesSamuel Thibault
The generic versions have the same content.
2020-02-09htl: Remove unused filesSamuel Thibault
These have never been used.
2020-02-07Remove a comment claiming that sin/cos round correctly.Wilco Dijkstra
2020-02-07y2038: linux: Provide __settimeofday64 implementationLukasz Majewski
This patch provides new __settimeofday64 explicit 64 bit function for setting 64 bit time in the kernel (by internally calling __clock_settime64). Moreover, a 32 bit version - __settimeofday has been refactored to internally use __settimeofday64. The __settimeofday is now supposed to be used on systems still supporting 32 bit time (__TIMESIZE != 64) - hence the necessary conversion of struct timeval to 64 bit struct __timespec64. Internally the settimeofday uses __settimeofday64. This patch is necessary for having architectures with __WORDSIZE == 32 Y2038 safe. Build tests: ./src/scripts/build-many-glibcs.py glibcs Run-time tests: - Run specific tests on ARM/x86 32bit systems (qemu): https://github.com/lmajewski/meta-y2038 and run tests: https://github.com/lmajewski/y2038-tests/commits/master Above tests were performed with Y2038 redirection applied as well as without to test proper usage of both __settimeofday64 and __settimeofday. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2020-02-07y2038: alpha: Rename valid_timeval64_to_timeval to valid_timeval_to_timeval32Lukasz Majewski
The name 'valid_timeval64_to_timeval' suggest conversion of struct __timeval64 to struct timeval (as in ./include/time.h). As on the alpha the struct timeval supports 64 bit time, it seems more feasible to emphasis struct timeval32 in the conversion function name. Hence the helper function naming change to 'valid_timeval_to_timeval32'. Build tests: ./src/scripts/build-many-glibcs.py glibcs Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2020-02-07y2038: alpha: Rename valid_timeval_to_timeval64 to valid_timeval32_to_timevalLukasz Majewski
Without this patch the naming convention for functions to convert struct timeval32 to struct timeval (which supports 64 bit time on Alpha) was a bit misleading. The name 'valid_timeval_to_timeval64' suggest conversion of struct timeval to struct __timeval64 (as in ./include/time.h). As on alpha the struct timeval supports 64 bit time it seems more readable to emphasis struct timeval32 in the conversion function name. Hence the helper function naming change to 'valid_timeval32_to_timeval'. Build tests: ./src/scripts/build-many-glibcs.py glibcs Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2020-02-07y2038: Define __suseconds64_t type to be used with struct __timeval64Lukasz Majewski
The __suseconds64_t type is supposed to be the 64 bit type across all architectures. It would be mostly used internally in the glibc - however, when passed to Linux kernel (very unlikely), if necessary, it shall be converted to 32 bit type (i.e. __suseconds_t) Build tests: ./src/scripts/build-many-glibcs.py glibcs Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2020-02-07Update kernel version to 5.5 in tst-mman-consts.py.Joseph Myers
This patch updates the kernel version in the test tst-mman-consts.py to 5.5. (There are no new constants covered by this test in 5.5 that need any other header changes.) Tested with build-many-glibcs.py.
2020-02-07Update syscall lists for Linux 5.5.Joseph Myers
Linux 5.5 has no new syscalls to add to syscall-names.list, but it does newly enable the clone3 syscall for AArch64. This patch updates the kernel version listed in syscall-names.list and regenerates the AArch64 arch-syscall.h. Tested with build-many-glibcs.py.
2020-02-05y2038: linux: Provide __timespec_get64 implementationLukasz Majewski
This patch provides new instance of Linux specific timespec_get.c file placed in ./sysdeps/unix/sysv/linux/. When compared to this file version from ./time directory, it provides __timespec_get64 explicit 64 bit function for getting 64 bit time in the struct __timespec64 (for compilation using C11 standard). Moreover, a 32 bit version - __timespec_get internally uses __timespec_get64. The __timespec_get is now supposed to be used on systems still supporting 32 bit time (__TIMESIZE != 64) - hence the necessary conversion to 32 bit struct timespec. Internally the timespec_get uses __clock_gettime64. This patch is necessary for having architectures with __WORDSIZE == 32 Y2038 safe. Build tests: ./src/scripts/build-many-glibcs.py glibcs Run-time tests: - Run specific tests on ARM/x86 32bit systems (qemu): https://github.com/lmajewski/meta-y2038 and run tests: https://github.com/lmajewski/y2038-tests/commits/master Above tests were performed with Y2038 redirection applied as well as without to test proper usage of both __timespec_get64 and __timespec_get. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>