Samuel Thibault
8ba6ad703c
hurd: Add __pthread_spin_wait and use it
...
900778283a
("htl: make pthread_spin_lock really spin") made
pthread_spin_lock really spin and not block, but the current users of
__pthread_spin_lock were assuming that it blocks, i.e. they use it as a
lightweight mutex fitting in just one int.
__pthread_spin_wait provides that support back.
2020-02-11 00:32:44 +01:00
Paul E. Murphy
cd7965bd97
ldbl-128ibm-compat: set PRINTF_CHK flag in {,v}sprintf_chk
...
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-10 16:51:03 -06:00
Joseph Myers
a179673f3d
Use --disable-gdbserver in build-many-glibcs.py.
...
Now that binutils-gdb has gdbserver at top level, an extra
--disable-gdbserver configure option is needed when configuring
binutils from a git checkout to avoid it also building gdbserver
unnecessarily (although fairly harmlessly). This patch updates the
options used in build-many-glibcs.py accordingly (although this might
end up not being needed depending on what happens regarding whether
gdbserver gets built for host != target).
Tested with a build-many-glibcs.py compilers build for
aarch64-linux-gnu using binutils-gdb master.
2020-02-10 22:17:59 +00:00
Wilco Dijkstra
511c91b114
Improve random memcpy benchmark
...
Improve the random memcpy benchmark. Double the number of copies and
increase the memory sizes tested to 512KB. Add a more detailed
distribution of memcpy alignment and sizes up to 4096 based on SPEC2017
traces.
Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
2020-02-10 16:08:40 +00:00
Andreas Schwab
6d0d2eb1e7
nptl: update default pthread-offsets.h
...
Remove unused definitions, and correct __PTHREAD_RWLOCK_FLAGS_OFFSET for
__WORDSIZE == 64.
2020-02-10 17:01:21 +01:00
Andreas Schwab
4970c9e0b5
nptl: add missing pthread-offsets.h
...
All architectures using their own definition of struct
__pthread_rwlock_arch_t need to provide their own pthread-offsets.h.
2020-02-10 17:01:21 +01:00
Samuel Thibault
1433e270a1
htl: Avoid a local plt for pthread_self
2020-02-10 13:22:56 +01:00
Samuel Thibault
c0463e8b79
pthread: Move some join tests from nptl to sysdeps/pthread
...
So they can be checked with htl too.
2020-02-10 01:21:46 +00:00
Samuel Thibault
1905cf47bc
htl: Make joining self return EDEADLK
2020-02-10 01:19:00 +00:00
Samuel Thibault
6acd77229a
pthread: Move most barrier tests from nptl to sysdeps/pthread
...
So they can be checked with htl too.
2020-02-10 01:03:55 +00:00
Samuel Thibault
f3a7ff069f
htl: Fix barrier_wait with one thread
2020-02-10 01:03:54 +00:00
Samuel Thibault
8a195ec810
pthread: Move most sem tests from nptl to sysdeps/pthread
...
So they can be checked with htl too.
2020-02-10 01:03:54 +00:00
Samuel Thibault
e9644c20ce
htl: Make sem_wait/sem_timedwait interruptible
2020-02-10 01:03:54 +00:00
Samuel Thibault
1cec114b17
htl: Make sem_open return ENOSYS
...
instead of EOPNOTSUPP, which is for sockets.
2020-02-10 01:03:54 +00:00
Samuel Thibault
5e77ec7c6e
htl: Add support for semaphore maximum value
2020-02-10 01:03:54 +00:00
Samuel Thibault
819bb5e660
pthread: Move key tests from nptl to sysdeps/pthread
...
So they can be checked with htl too.
2020-02-10 01:03:54 +00:00
Samuel Thibault
7e7182256a
hurd: Make nanosleep a cancellation point
2020-02-10 01:03:53 +00:00
Samuel Thibault
59b7fe99f2
htl: Add support for libc cancellation points
2020-02-10 01:03:50 +00:00
Samuel Thibault
f1cd3407e4
htl: clean __pthread_get_cleanup_stack hidden proto
2020-02-10 00:06:59 +00:00
Samuel Thibault
782ee4e256
htl: XFAIL rwlock tests which need pshared support
2020-02-09 22:29:28 +00:00
Samuel Thibault
d5ec049d44
pthread: Move some rwlock tests from nptl to sysdeps/pthread
...
So they can be checked with htl too.
2020-02-09 20:07:51 +00:00
Samuel Thibault
28c30a6232
pthread: Move most once tests from nptl to sysdeps/pthread
...
So they can be checked with htl too.
2020-02-09 19:50:21 +00:00
Samuel Thibault
52b6cdb4e3
htl: support cancellation during pthread_once
2020-02-09 19:43:46 +00:00
Samuel Thibault
d8f1f2d9ab
pthread: Move most cond tests from nptl to sysdeps/pthread
...
So they can be checked with htl too.
2020-02-09 19:24:44 +00:00
Samuel Thibault
faae4b2bdd
htl: make pthread_cond_destroy return EBUSY on waiters
2020-02-09 19:24:42 +00:00
Samuel Thibault
cd94860c56
htl: Report missing mutex lock on pthread_cond_*wait
2020-02-09 18:33:14 +00:00
Samuel Thibault
db12905d1d
htl: Fix linking static testcases
...
They need libpthread.a
2020-02-09 17:57:27 +00:00
Samuel Thibault
6db1094f7a
htl: Move __register_atfork from forward to own file
...
Since we need it also in the static linking case.
2020-02-09 17:55:37 +00:00
Samuel Thibault
44a41fc253
pthread: Move some attr tests from nptl to sysdeps/pthread
...
So they can be checked with htl too.
2020-02-09 17:30:30 +00:00
Samuel Thibault
34f168fb82
htl: Fix default guard size
...
When it is not hardcoded by the architecture with PAGESIZE, we need to
use the dynamic values from __vm_page_size.
2020-02-09 17:28:33 +00:00
Samuel Thibault
74159dc58a
pthread: Move most mutex tests from nptl to sysdeps/pthread
...
So they can be checked with htl too.
XFAIL tst-mutex4, for which support is still missing in htl.
2020-02-09 17:17:06 +00:00
Samuel Thibault
71d52ac4d6
pthread: Move spin tests from nptl to sysdeps/pthread
...
So they can be checked with htl too.
2020-02-09 17:00:44 +00:00
Samuel Thibault
900778283a
htl: make pthread_spin_lock really spin
...
__spin_lock would actually use gsync_wait to block, which is not what
pthread_spin_lock is about.
2020-02-09 16:54:58 +00:00
Samuel Thibault
e622ce98c5
htl: Avoid check-installed-headers looking at inlines
2020-02-09 16:42:36 +00:00
Samuel Thibault
865bf71109
htl: Do not put spin_lock inlines in public headers
...
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-09 16:36:37 +00:00
Samuel Thibault
cca76b6db2
pthread: Move basic tests from nptl to sysdeps/pthread
...
So they can be checked with htl too.
2020-02-09 16:12:53 +00:00
Samuel Thibault
19a64d9f6e
htl: Fix calling pthread_exit in the child of a fork
...
We need to reset the threads counter, otherwise pthread_exit() would not
call exit(0).
2020-02-09 17:01:06 +01:00
Florian Weimer
3430ed09d3
x86: Remove <bits/select.h> and use the generic version
...
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-09 14:02:27 +01:00
Samuel Thibault
b05de10400
C11 threads: Move implementation to sysdeps/pthread
...
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-09 13:56:48 +01:00
Samuel Thibault
6cefe985b8
htl: Add C11 threads types definitions
2020-02-09 13:56:48 +01:00
Samuel Thibault
f1cea28137
C11 threads: make thrd_join more portable
...
by making a __pthread_join call instead of an equivalent __pthread_clockjoin_ex
call.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2020-02-09 13:56:48 +01:00
Samuel Thibault
c9abd9b4f3
C11 threads: Fix thrd_t / pthread_t compatibility assertion
...
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2020-02-09 13:56:48 +01:00
Samuel Thibault
fc7283264d
C11 threads: do not require PTHREAD_DESTRUCTOR_ITERATIONS
...
It is optional in POSIX.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2020-02-09 13:56:48 +01:00
Samuel Thibault
e5ad057068
nptl: Move nptl-specific types to separate header
...
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2020-02-09 13:56:48 +01:00
Samuel Thibault
f827f0e473
htl: Make __PTHREAD_ONCE_INIT more flexible
...
by moving its (struct __pthread_once) cast into PTHREAD_ONCE_INIT.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2020-02-09 13:56:48 +01:00
Samuel Thibault
0c0361235c
htl: Add support for C11 threads behavior
...
Essentially properly calling the thread function which returns an int
instead of a void*.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2020-02-09 13:56:48 +01:00
Samuel Thibault
95669bbf2c
htl: Add missing internal functions declarations
2020-02-09 13:56:48 +01:00
Samuel Thibault
e775f443bd
htl: Rename _pthread_mutex_init/destroy to __pthread_mutex_init/destroy
2020-02-09 13:56:45 +01:00
Samuel Thibault
0093df204a
htl: Move internal mutex/rwlock symbols to GLIBC_PRIVATE
...
Their prototypes have never been made public, and they are not used outside
libc (checked on the whole Debian archive)
2020-02-09 13:06:35 +01:00
Florian Weimer
f6233ab412
Linux: Add io/tst-o_path-locks test
...
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-09 11:51:08 +01:00