mirror of
https://sourceware.org/git/glibc.git
synced 2025-08-01 10:06:57 +03:00
nptl: Remove __ASSUME_PRIVATE_FUTEX
Since __ASSUME_PRIVATE_FUTEX is always defined, this patch removes the !__ASSUME_PRIVATE_FUTEX paths. Tested with build-many-glibcs.py. * nptl/allocatestack.c (allocate_stack): Remove the !__ASSUME_PRIVATE_FUTEX paths. * nptl/descr.h (header): Remove the !__ASSUME_PRIVATE_FUTEX path. * nptl/nptl-init.c (__pthread_initialize_minimal_internal): Likewise. * sysdeps/i386/nptl/tcb-offsets.sym (PRIVATE_FUTEX): Removed. * sysdeps/powerpc/nptl/tcb-offsets.sym (PRIVATE_FUTEX): Likewise. * sysdeps/sh/nptl/tcb-offsets.sym (PRIVATE_FUTEX): Likewise. * sysdeps/x86_64/nptl/tcb-offsets.sym (PRIVATE_FUTEX): Likewise. * sysdeps/i386/nptl/tls.h: (tcbhead_t): Remve the !__ASSUME_PRIVATE_FUTEX path. * sysdeps/s390/nptl/tls.h (tcbhead_t): Likewise. * sysdeps/sparc/nptl/tls.h (tcbhead_t): Likewise. * sysdeps/x86_64/nptl/tls.h (tcbhead_t): Likewise. * sysdeps/unix/sysv/linux/i386/lowlevellock.S: Remove the !__ASSUME_PRIVATE_FUTEX macros. * sysdeps/unix/sysv/linux/lowlevellock-futex.h: Likewise. * sysdeps/unix/sysv/linux/x86_64/cancellation.S: Likewise. * sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: Likewise. * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_PRIVATE_FUTEX): Removed.
This commit is contained in:
@ -313,24 +313,6 @@ __pthread_initialize_minimal_internal (void)
|
||||
}
|
||||
|
||||
#ifdef __NR_futex
|
||||
# ifndef __ASSUME_PRIVATE_FUTEX
|
||||
/* Private futexes are always used (at least internally) so that
|
||||
doing the test once this early is beneficial. */
|
||||
{
|
||||
int word = 0;
|
||||
INTERNAL_SYSCALL_DECL (err);
|
||||
word = INTERNAL_SYSCALL (futex, err, 3, &word,
|
||||
FUTEX_WAKE | FUTEX_PRIVATE_FLAG, 1);
|
||||
if (!INTERNAL_SYSCALL_ERROR_P (word, err))
|
||||
THREAD_SETMEM (pd, header.private_futex, FUTEX_PRIVATE_FLAG);
|
||||
}
|
||||
|
||||
/* Private futexes have been introduced earlier than the
|
||||
FUTEX_CLOCK_REALTIME flag. We don't have to run the test if we
|
||||
know the former are not supported. This also means we know the
|
||||
kernel will return ENOSYS for unknown operations. */
|
||||
if (THREAD_GETMEM (pd, header.private_futex) != 0)
|
||||
# endif
|
||||
# ifndef __ASSUME_FUTEX_CLOCK_REALTIME
|
||||
{
|
||||
int word = 0;
|
||||
|
Reference in New Issue
Block a user