forked from rpms/glibc
43 lines
1.6 KiB
Diff
43 lines
1.6 KiB
Diff
|
commit 79c6be6a0ad59e28cfb73ad6cae6b073e22836e3
|
||
|
Author: Florian Weimer <fweimer@redhat.com>
|
||
|
Date: Thu Feb 4 15:00:20 2021 +0100
|
||
|
|
||
|
nptl: Remove private futex optimization [BZ #27304]
|
||
|
|
||
|
It is effectively used, unexcept for pthread_cond_destroy, where we do
|
||
|
not want it; see bug 27304. The internal locks do not support a
|
||
|
process-shared mode.
|
||
|
|
||
|
This fixes commit dc6cfdc934db9997c33728082d63552b9eee4563 ("nptl:
|
||
|
Move pthread_cond_destroy implementation into libc").
|
||
|
|
||
|
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
||
|
(cherry picked from commit c4ad832276f4dadfa40904109b26a521468f66bc)
|
||
|
|
||
|
diff --git a/sysdeps/nptl/lowlevellock-futex.h b/sysdeps/nptl/lowlevellock-futex.h
|
||
|
index ecb729da6b838773..ca96397a4a925b8b 100644
|
||
|
--- a/sysdeps/nptl/lowlevellock-futex.h
|
||
|
+++ b/sysdeps/nptl/lowlevellock-futex.h
|
||
|
@@ -50,20 +50,8 @@
|
||
|
#define LLL_SHARED FUTEX_PRIVATE_FLAG
|
||
|
|
||
|
#ifndef __ASSEMBLER__
|
||
|
-
|
||
|
-# if IS_IN (libc) || IS_IN (rtld)
|
||
|
-/* In libc.so or ld.so all futexes are private. */
|
||
|
-# define __lll_private_flag(fl, private) \
|
||
|
- ({ \
|
||
|
- /* Prevent warnings in callers of this macro. */ \
|
||
|
- int __lll_private_flag_priv __attribute__ ((unused)); \
|
||
|
- __lll_private_flag_priv = (private); \
|
||
|
- ((fl) | FUTEX_PRIVATE_FLAG); \
|
||
|
- })
|
||
|
-# else
|
||
|
-# define __lll_private_flag(fl, private) \
|
||
|
+# define __lll_private_flag(fl, private) \
|
||
|
(((fl) | FUTEX_PRIVATE_FLAG) ^ (private))
|
||
|
-# endif
|
||
|
|
||
|
# define lll_futex_syscall(nargs, futexp, op, ...) \
|
||
|
({ \
|