nptl: Remove private futex optimization [BZ #27304]
authorFlorian Weimer <fweimer@redhat.com>
Thu, 4 Feb 2021 14:00:20 +0000 (15:00 +0100)
committerFlorian Weimer <fweimer@redhat.com>
Thu, 4 Feb 2021 14:00:20 +0000 (15:00 +0100)
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>
sysdeps/nptl/lowlevellock-futex.h

index ecb729d..ca96397 100644 (file)
 #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, ...)                      \
   ({                                                                    \