[PATCH 2/7] nptl: Remove rwlock elision definitions

Adhemerval Zanella adhemerval.zanella@linaro.org
Wed Nov 6 17:50:00 GMT 2019


The new rwlock implementation added by cc25c8b4c1196 (2.25) removed
support for lock-elision.  This patch removes remaining the
arch-specific unused definitions.

Checked with a build against all affected ABIs.
---
 sysdeps/aarch64/nptl/bits/pthreadtypes-arch.h    |  2 --
 sysdeps/alpha/nptl/bits/pthreadtypes-arch.h      |  2 --
 sysdeps/arm/nptl/bits/pthreadtypes-arch.h        |  2 --
 sysdeps/csky/nptl/bits/pthreadtypes-arch.h       |  2 --
 sysdeps/hppa/nptl/bits/pthreadtypes-arch.h       |  2 --
 sysdeps/ia64/nptl/bits/pthreadtypes-arch.h       |  2 --
 sysdeps/m68k/nptl/bits/pthreadtypes-arch.h       |  2 --
 sysdeps/microblaze/nptl/bits/pthreadtypes-arch.h |  2 --
 sysdeps/mips/nptl/bits/pthreadtypes-arch.h       |  2 --
 sysdeps/nios2/nptl/bits/pthreadtypes-arch.h      |  2 --
 sysdeps/nptl/pthread.h                           |  6 +++---
 sysdeps/powerpc/nptl/bits/pthreadtypes-arch.h    |  7 ++-----
 sysdeps/riscv/nptl/bits/pthreadtypes-arch.h      |  2 --
 sysdeps/s390/nptl/bits/pthreadtypes-arch.h       |  2 --
 sysdeps/sh/nptl/bits/pthreadtypes-arch.h         |  2 --
 sysdeps/sparc/nptl/bits/pthreadtypes-arch.h      |  2 --
 sysdeps/x86/nptl/bits/pthreadtypes-arch.h        | 12 ++----------
 17 files changed, 7 insertions(+), 46 deletions(-)

diff --git a/sysdeps/aarch64/nptl/bits/pthreadtypes-arch.h b/sysdeps/aarch64/nptl/bits/pthreadtypes-arch.h
index 758b127a1a..61c02e7bbc 100644
--- a/sysdeps/aarch64/nptl/bits/pthreadtypes-arch.h
+++ b/sysdeps/aarch64/nptl/bits/pthreadtypes-arch.h
@@ -66,6 +66,4 @@ struct __pthread_rwlock_arch_t
   unsigned int __flags;
 };
 
-#define __PTHREAD_RWLOCK_ELISION_EXTRA 0
-
 #endif	/* bits/pthreadtypes.h */
diff --git a/sysdeps/alpha/nptl/bits/pthreadtypes-arch.h b/sysdeps/alpha/nptl/bits/pthreadtypes-arch.h
index c5e252fc9d..f5b7d1940e 100644
--- a/sysdeps/alpha/nptl/bits/pthreadtypes-arch.h
+++ b/sysdeps/alpha/nptl/bits/pthreadtypes-arch.h
@@ -56,6 +56,4 @@ struct __pthread_rwlock_arch_t
   unsigned int __flags;
 };
 
-#define __PTHREAD_RWLOCK_ELISION_EXTRA 0
-
 #endif	/* bits/pthreadtypes.h */
diff --git a/sysdeps/arm/nptl/bits/pthreadtypes-arch.h b/sysdeps/arm/nptl/bits/pthreadtypes-arch.h
index 78b37eb5b8..a2c550f62a 100644
--- a/sysdeps/arm/nptl/bits/pthreadtypes-arch.h
+++ b/sysdeps/arm/nptl/bits/pthreadtypes-arch.h
@@ -66,6 +66,4 @@ struct __pthread_rwlock_arch_t
   int __cur_writer;
 };
 
-#define __PTHREAD_RWLOCK_ELISION_EXTRA 0
-
 #endif	/* bits/pthreadtypes.h */
diff --git a/sysdeps/csky/nptl/bits/pthreadtypes-arch.h b/sysdeps/csky/nptl/bits/pthreadtypes-arch.h
index 58be51dcfd..c1656ae2f6 100644
--- a/sysdeps/csky/nptl/bits/pthreadtypes-arch.h
+++ b/sysdeps/csky/nptl/bits/pthreadtypes-arch.h
@@ -65,6 +65,4 @@ struct __pthread_rwlock_arch_t
   int __cur_writer;
 };
 
-#define __PTHREAD_RWLOCK_ELISION_EXTRA 0
-
 #endif
diff --git a/sysdeps/hppa/nptl/bits/pthreadtypes-arch.h b/sysdeps/hppa/nptl/bits/pthreadtypes-arch.h
index 13b8223cfa..7c97b89d60 100644
--- a/sysdeps/hppa/nptl/bits/pthreadtypes-arch.h
+++ b/sysdeps/hppa/nptl/bits/pthreadtypes-arch.h
@@ -86,6 +86,4 @@ struct __pthread_rwlock_arch_t
   int __reserved4;
 };
 
-#define __PTHREAD_RWLOCK_ELISION_EXTRA 0
-
 #endif	/* bits/pthreadtypes.h */
diff --git a/sysdeps/ia64/nptl/bits/pthreadtypes-arch.h b/sysdeps/ia64/nptl/bits/pthreadtypes-arch.h
index e0c1374546..8eb1bd5ebe 100644
--- a/sysdeps/ia64/nptl/bits/pthreadtypes-arch.h
+++ b/sysdeps/ia64/nptl/bits/pthreadtypes-arch.h
@@ -58,6 +58,4 @@ struct __pthread_rwlock_arch_t
   unsigned int __flags;
 };
 
-#define __PTHREAD_RWLOCK_ELISION_EXTRA 0
-
 #endif	/* bits/pthreadtypes.h */
diff --git a/sysdeps/m68k/nptl/bits/pthreadtypes-arch.h b/sysdeps/m68k/nptl/bits/pthreadtypes-arch.h
index 792cb32289..cefce56593 100644
--- a/sysdeps/m68k/nptl/bits/pthreadtypes-arch.h
+++ b/sysdeps/m68k/nptl/bits/pthreadtypes-arch.h
@@ -58,6 +58,4 @@ struct __pthread_rwlock_arch_t
   int __cur_writer;
 };
 
-#define __PTHREAD_RWLOCK_ELISION_EXTRA 0
-
 #endif	/* bits/pthreadtypes.h */
diff --git a/sysdeps/microblaze/nptl/bits/pthreadtypes-arch.h b/sysdeps/microblaze/nptl/bits/pthreadtypes-arch.h
index 7cf1ff6a72..00b50df227 100644
--- a/sysdeps/microblaze/nptl/bits/pthreadtypes-arch.h
+++ b/sysdeps/microblaze/nptl/bits/pthreadtypes-arch.h
@@ -67,6 +67,4 @@ struct __pthread_rwlock_arch_t
   int __cur_writer;
 };
 
-# define __PTHREAD_RWLOCK_ELISION_EXTRA 0
-
 #endif	/* bits/pthreadtypes.h.  */
diff --git a/sysdeps/mips/nptl/bits/pthreadtypes-arch.h b/sysdeps/mips/nptl/bits/pthreadtypes-arch.h
index 0bb703511c..629cd72048 100644
--- a/sysdeps/mips/nptl/bits/pthreadtypes-arch.h
+++ b/sysdeps/mips/nptl/bits/pthreadtypes-arch.h
@@ -84,6 +84,4 @@ struct __pthread_rwlock_arch_t
 #endif
 };
 
-#define __PTHREAD_RWLOCK_ELISION_EXTRA 0
-
 #endif	/* bits/pthreadtypes.h */
diff --git a/sysdeps/nios2/nptl/bits/pthreadtypes-arch.h b/sysdeps/nios2/nptl/bits/pthreadtypes-arch.h
index dcd3499a86..bba904bcc4 100644
--- a/sysdeps/nios2/nptl/bits/pthreadtypes-arch.h
+++ b/sysdeps/nios2/nptl/bits/pthreadtypes-arch.h
@@ -67,6 +67,4 @@ struct __pthread_rwlock_arch_t
   int __cur_writer;
 };
 
-#define __PTHREAD_RWLOCK_ELISION_EXTRA 0
-
 #endif	/* bits/pthreadtypes.h */
diff --git a/sysdeps/nptl/pthread.h b/sysdeps/nptl/pthread.h
index a4ff323b76..f2b21accbc 100644
--- a/sysdeps/nptl/pthread.h
+++ b/sysdeps/nptl/pthread.h
@@ -131,17 +131,17 @@ enum
 
 /* Read-write lock initializers.  */
 # define PTHREAD_RWLOCK_INITIALIZER \
-  { { 0, 0, 0, 0, 0, 0, 0, 0, __PTHREAD_RWLOCK_ELISION_EXTRA, 0, 0 } }
+  { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
 # ifdef __USE_GNU
 #  ifdef __PTHREAD_RWLOCK_INT_FLAGS_SHARED
 #   define PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP \
-  { { 0, 0, 0, 0, 0, 0, 0, 0, __PTHREAD_RWLOCK_ELISION_EXTRA, 0,					      \
+  { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,					      \
 	PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP } }
 #  else
 #   if __BYTE_ORDER == __LITTLE_ENDIAN
 #    define PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP \
   { { 0, 0, 0, 0, 0, 0, PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP, \
-      0, __PTHREAD_RWLOCK_ELISION_EXTRA, 0, 0 } }
+      0, 0, 0, 0 } }
 #   else
 #    define PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP,\
diff --git a/sysdeps/powerpc/nptl/bits/pthreadtypes-arch.h b/sysdeps/powerpc/nptl/bits/pthreadtypes-arch.h
index 4ad33d8850..9810aab057 100644
--- a/sysdeps/powerpc/nptl/bits/pthreadtypes-arch.h
+++ b/sysdeps/powerpc/nptl/bits/pthreadtypes-arch.h
@@ -59,22 +59,19 @@ struct __pthread_rwlock_arch_t
 #if __WORDSIZE == 64
   int __cur_writer;
   int __shared;
-  unsigned char __rwelision;
-  unsigned char __pad1[7];
+  unsigned long int __pad1;
   unsigned long int __pad2;
   /* FLAGS must stay at this position in the structure to maintain
      binary compatibility.  */
   unsigned int __flags;
-# define __PTHREAD_RWLOCK_ELISION_EXTRA 0, {0, 0, 0, 0, 0, 0, 0 }
 #else
-  unsigned char __rwelision;
+  unsigned char __pad1;
   unsigned char __pad2;
   unsigned char __shared;
   /* FLAGS must stay at this position in the structure to maintain
      binary compatibility.  */
   unsigned char __flags;
   int __cur_writer;
-# define __PTHREAD_RWLOCK_ELISION_EXTRA 0
 #endif
 };
 
diff --git a/sysdeps/riscv/nptl/bits/pthreadtypes-arch.h b/sysdeps/riscv/nptl/bits/pthreadtypes-arch.h
index 33f0ee43fe..77b60bf8f7 100644
--- a/sysdeps/riscv/nptl/bits/pthreadtypes-arch.h
+++ b/sysdeps/riscv/nptl/bits/pthreadtypes-arch.h
@@ -63,6 +63,4 @@ struct __pthread_rwlock_arch_t
   unsigned int __flags;
 };
 
-#define __PTHREAD_RWLOCK_ELISION_EXTRA 		0
-
 #endif	/* bits/pthreadtypes.h */
diff --git a/sysdeps/s390/nptl/bits/pthreadtypes-arch.h b/sysdeps/s390/nptl/bits/pthreadtypes-arch.h
index 28754b7aa6..1cb1d7216a 100644
--- a/sysdeps/s390/nptl/bits/pthreadtypes-arch.h
+++ b/sysdeps/s390/nptl/bits/pthreadtypes-arch.h
@@ -74,6 +74,4 @@ struct __pthread_rwlock_arch_t
 #endif
 };
 
-#define __PTHREAD_RWLOCK_ELISION_EXTRA 0
-
 #endif	/* bits/pthreadtypes.h */
diff --git a/sysdeps/sh/nptl/bits/pthreadtypes-arch.h b/sysdeps/sh/nptl/bits/pthreadtypes-arch.h
index 219a861398..e7bbfe1861 100644
--- a/sysdeps/sh/nptl/bits/pthreadtypes-arch.h
+++ b/sysdeps/sh/nptl/bits/pthreadtypes-arch.h
@@ -66,6 +66,4 @@ struct __pthread_rwlock_arch_t
   unsigned long int __cur_writer;
 };
 
-#define __PTHREAD_RWLOCK_ELISION_EXTRA 0
-
 #endif	/* bits/pthreadtypes.h */
diff --git a/sysdeps/sparc/nptl/bits/pthreadtypes-arch.h b/sysdeps/sparc/nptl/bits/pthreadtypes-arch.h
index c5c0563c58..47093a57a2 100644
--- a/sysdeps/sparc/nptl/bits/pthreadtypes-arch.h
+++ b/sysdeps/sparc/nptl/bits/pthreadtypes-arch.h
@@ -76,6 +76,4 @@ struct __pthread_rwlock_arch_t
 #endif
 };
 
-#define __PTHREAD_RWLOCK_ELISION_EXTRA 0
-
 #endif	/* bits/pthreadtypes.h */
diff --git a/sysdeps/x86/nptl/bits/pthreadtypes-arch.h b/sysdeps/x86/nptl/bits/pthreadtypes-arch.h
index 97361b0a80..1f05ca088c 100644
--- a/sysdeps/x86/nptl/bits/pthreadtypes-arch.h
+++ b/sysdeps/x86/nptl/bits/pthreadtypes-arch.h
@@ -73,14 +73,7 @@ struct __pthread_rwlock_arch_t
 #ifdef __x86_64__
   int __cur_writer;
   int __shared;
-  signed char __rwelision;
-# ifdef  __ILP32__
-  unsigned char __pad1[3];
-#  define __PTHREAD_RWLOCK_ELISION_EXTRA 0, { 0, 0, 0 }
-# else
-  unsigned char __pad1[7];
-#  define __PTHREAD_RWLOCK_ELISION_EXTRA 0, { 0, 0, 0, 0, 0, 0, 0 }
-# endif
+  unsigned long int __pad1;
   unsigned long int __pad2;
   /* FLAGS must stay at this position in the structure to maintain
      binary compatibility.  */
@@ -91,8 +84,7 @@ struct __pthread_rwlock_arch_t
      binary compatibility.  */
   unsigned char __flags;
   unsigned char __shared;
-  signed char __rwelision;
-# define __PTHREAD_RWLOCK_ELISION_EXTRA 0
+  unsigned char __pad1;
   unsigned char __pad2;
   int __cur_writer;
 #endif
-- 
2.17.1



More information about the Libc-alpha mailing list