about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAdhemerval Zanella <azanella@linux.vnet.ibm.com>2014-03-26 13:48:00 -0500
committerAdhemerval Zanella <azanella@linux.vnet.ibm.com>2014-04-09 06:41:44 -0500
commit01f8eac224421f07f28f91cc05db7459ea433ea4 (patch)
tree41e8a2952b7adfbd25daebcba10036f1be3ddfca
parentde21c33c068c8e39afb5711613a7c083c11ce6a1 (diff)
downloadglibc-01f8eac224421f07f28f91cc05db7459ea433ea4.tar.gz
glibc-01f8eac224421f07f28f91cc05db7459ea433ea4.tar.xz
glibc-01f8eac224421f07f28f91cc05db7459ea433ea4.zip
Move __PTHREAD_SPINS definition to architecture specific header
This patch moves the __PTHREAD_SPINS definition to arch specific header
since pthread_mutex_t layout is also arch specific.  This leads to no
need to defining __PTHREAD_MUTEX_HAVE_ELISION and thus removing of the
undefined compiler warning.
-rw-r--r--ChangeLog32
-rw-r--r--nptl/sysdeps/pthread/pthread.h9
-rw-r--r--nptl/sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h3
-rw-r--r--nptl/sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h5
-rw-r--r--nptl/sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h3
-rw-r--r--nptl/sysdeps/unix/sysv/linux/sparc/bits/pthreadtypes.h3
-rw-r--r--nptl/sysdeps/unix/sysv/linux/x86/bits/pthreadtypes.h5
-rw-r--r--ports/ChangeLog.hppa5
-rw-r--r--ports/sysdeps/unix/sysv/linux/hppa/nptl/bits/pthreadtypes.h3
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/nptl/bits/pthreadtypes.h3
-rw-r--r--sysdeps/unix/sysv/linux/alpha/nptl/bits/pthreadtypes.h3
-rw-r--r--sysdeps/unix/sysv/linux/arm/nptl/bits/pthreadtypes.h3
-rw-r--r--sysdeps/unix/sysv/linux/ia64/nptl/bits/pthreadtypes.h3
-rw-r--r--sysdeps/unix/sysv/linux/m68k/nptl/bits/pthreadtypes.h3
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/nptl/bits/pthreadtypes.h3
-rw-r--r--sysdeps/unix/sysv/linux/mips/nptl/bits/pthreadtypes.h3
-rw-r--r--sysdeps/unix/sysv/linux/tile/nptl/bits/pthreadtypes.h3
17 files changed, 79 insertions, 13 deletions
diff --git a/ChangeLog b/ChangeLog
index 7e1c54ca95..ae8cab2b75 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,37 @@
 2014-04-09  Adhemerval Zanella  <azanella@linux.vnet.ibm.com>
 
+	* nptl/sysdeps/pthread/pthread.h (__PTHREAD_MUTEX_HAVE_ELISION):
+	Remove macro usage.
+	(__PTHREAD_SPINS): Move definition to ...
+	* nptl/sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h
+	(__PTHREAD_SPINS): ... here.
+	* nptl/sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h
+	(__PTHREAD_SPIN): Likewise.
+	* nptl/sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h
+	(__PTHREAD_SPIN): Likewise.
+	* nptl/sysdeps/unix/sysv/linux/sparc/bits/pthreadtypes.h
+	(__PTHREAD_SPIN): Likewise.
+	* nptl/sysdeps/unix/sysv/linux/x86/bits/pthreadtypes.h
+	(__PTHREAD_SPIN): Likewise.
+	* sysdeps/unix/sysv/linux/aarch64/nptl/bits/pthreadtypes.h
+	(__PTHREAD_SPIN): Likewise.
+	* sysdeps/unix/sysv/linux/alpha/nptl/bits/pthreadtypes.h
+	(__PTHREAD_SPIN): Likewise.
+	* sysdeps/unix/sysv/linux/arm/nptl/bits/pthreadtypes.h
+	(__PTHREAD_SPIN): Likewise.
+	* sysdeps/unix/sysv/linux/ia64/nptl/bits/pthreadtypes.h
+	(__PTHREAD_SPIN): Likewise.
+	* sysdeps/unix/sysv/linux/m68k/nptl/bits/pthreadtypes.h
+	(__PTHREAD_SPIN): Likewise.
+	* sysdeps/unix/sysv/linux/microblaze/nptl/bits/pthreadtypes.h
+	(__PTHREAD_SPIN): Likewise.
+	* sysdeps/unix/sysv/linux/mips/nptl/bits/pthreadtypes.h
+	(__PTHREAD_SPIN): Likewise.
+	* sysdeps/unix/sysv/linux/tile/nptl/bits/pthreadtypes.h
+	(__PTHREAD_SPIN): Likewise.
+
+2014-04-09  Adhemerval Zanella  <azanella@linux.vnet.ibm.com>
+
 	* sysdeps/powerpc/powerpc32/power6x/fpu/Implies: New file.
 	* sysdeps/powerpc/powerpc64/power6x/fpu/Implies: new file.
 	* sysdeps/powerpc/powerpc64/power6x/multiarch/Implies: New file.
diff --git a/nptl/sysdeps/pthread/pthread.h b/nptl/sysdeps/pthread/pthread.h
index 1e0c5dc937..40a3e215cc 100644
--- a/nptl/sysdeps/pthread/pthread.h
+++ b/nptl/sysdeps/pthread/pthread.h
@@ -82,15 +82,6 @@ enum
 #endif
 
 
-/* Mutex initializers.  */
-#if __PTHREAD_MUTEX_HAVE_ELISION == 1 /* 64bit layout.  */
-#define __PTHREAD_SPINS 0, 0
-#elif __PTHREAD_MUTEX_HAVE_ELISION == 2 /* 32bit layout.  */
-#define __PTHREAD_SPINS { 0, 0 }
-#else
-#define __PTHREAD_SPINS 0
-#endif
-
 #ifdef __PTHREAD_MUTEX_HAVE_PREV
 # define PTHREAD_MUTEX_INITIALIZER \
   { { 0, 0, 0, 0, 0, __PTHREAD_SPINS, { 0, 0 } } }
diff --git a/nptl/sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h b/nptl/sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h
index 71bd3aed12..eda3d1a3e4 100644
--- a/nptl/sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h
+++ b/nptl/sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h
@@ -106,6 +106,9 @@ typedef union
   long int __align;
 } pthread_mutex_t;
 
+/* Mutex __spins initializer used by PTHREAD_MUTEX_INITIALIZER.  */
+#define __PTHREAD_SPINS 0
+
 typedef union
 {
   char __size[__SIZEOF_PTHREAD_MUTEXATTR_T];
diff --git a/nptl/sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h b/nptl/sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h
index 23a16988c3..8264de0591 100644
--- a/nptl/sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h
+++ b/nptl/sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h
@@ -20,8 +20,6 @@
 
 #include <bits/wordsize.h>
 
-# define __PTHREAD_MUTEX_HAVE_ELISION   0
-
 #if __WORDSIZE == 64
 # define __SIZEOF_PTHREAD_ATTR_T 56
 # define __SIZEOF_PTHREAD_MUTEX_T 40
@@ -107,6 +105,9 @@ typedef union
   long int __align;
 } pthread_mutex_t;
 
+/* Mutex __spins initializer used by PTHREAD_MUTEX_INITIALIZER.  */
+#define __PTHREAD_SPINS 0
+
 typedef union
 {
   char __size[__SIZEOF_PTHREAD_MUTEXATTR_T];
diff --git a/nptl/sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h b/nptl/sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h
index e42d94ebc0..a177f28347 100644
--- a/nptl/sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h
+++ b/nptl/sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h
@@ -77,6 +77,9 @@ typedef union
   long int __align;
 } pthread_mutex_t;
 
+/* Mutex __spins initializer used by PTHREAD_MUTEX_INITIALIZER.  */
+#define __PTHREAD_SPINS 0
+
 typedef union
 {
   char __size[__SIZEOF_PTHREAD_MUTEXATTR_T];
diff --git a/nptl/sysdeps/unix/sysv/linux/sparc/bits/pthreadtypes.h b/nptl/sysdeps/unix/sysv/linux/sparc/bits/pthreadtypes.h
index be615b6e89..8c0340a963 100644
--- a/nptl/sysdeps/unix/sysv/linux/sparc/bits/pthreadtypes.h
+++ b/nptl/sysdeps/unix/sysv/linux/sparc/bits/pthreadtypes.h
@@ -106,6 +106,9 @@ typedef union
   long int __align;
 } pthread_mutex_t;
 
+/* Mutex __spins initializer used by PTHREAD_MUTEX_INITIALIZER.  */
+#define __PTHREAD_SPINS 0
+
 typedef union
 {
   char __size[__SIZEOF_PTHREAD_MUTEXATTR_T];
diff --git a/nptl/sysdeps/unix/sysv/linux/x86/bits/pthreadtypes.h b/nptl/sysdeps/unix/sysv/linux/x86/bits/pthreadtypes.h
index 28e5144788..b4329f652b 100644
--- a/nptl/sysdeps/unix/sysv/linux/x86/bits/pthreadtypes.h
+++ b/nptl/sysdeps/unix/sysv/linux/x86/bits/pthreadtypes.h
@@ -105,7 +105,8 @@ typedef union
     short __elision;
     __pthread_list_t __list;
 # define __PTHREAD_MUTEX_HAVE_PREV	1
-# define __PTHREAD_MUTEX_HAVE_ELISION   1
+/* Mutex __spins initializer used by PTHREAD_MUTEX_INITIALIZER.  */
+# define __PTHREAD_SPINS             0, 0
 #else
     unsigned int __nusers;
     __extension__ union
@@ -116,7 +117,7 @@ typedef union
 	short __elision;
 # define __spins d.__espins
 # define __elision d.__elision
-# define __PTHREAD_MUTEX_HAVE_ELISION   2
+# define __PTHREAD_SPINS         { 0, 0 }
       } d;
       __pthread_slist_t __list;
     };
diff --git a/ports/ChangeLog.hppa b/ports/ChangeLog.hppa
index 4433ad5ca4..39c77018a8 100644
--- a/ports/ChangeLog.hppa
+++ b/ports/ChangeLog.hppa
@@ -1,3 +1,8 @@
+2014-04-09  Adhemerval Zanella  <azanella@linux.vnet.ibm.com>
+
+	* ports/sysdeps/unix/sysv/linux/hppa/nptl/bits/pthreadtypes.h
+	(__PTHREAD_SPIN): Moved defintion from pthread.h.
+
 2014-03-18  Roland McGrath  <roland@hack.frob.com>
 
 	* sysdeps/hppa/dl-fptr.c: Include <dl-unmap-segments.h>.
diff --git a/ports/sysdeps/unix/sysv/linux/hppa/nptl/bits/pthreadtypes.h b/ports/sysdeps/unix/sysv/linux/hppa/nptl/bits/pthreadtypes.h
index deec4dae8c..a79c195d9a 100644
--- a/ports/sysdeps/unix/sysv/linux/hppa/nptl/bits/pthreadtypes.h
+++ b/ports/sysdeps/unix/sysv/linux/hppa/nptl/bits/pthreadtypes.h
@@ -94,6 +94,9 @@ typedef union
   long int __align;
 } pthread_mutex_t;
 
+/* Mutex __spins initializer used by PTHREAD_MUTEX_INITIALIZER.  */
+#define __PTHREAD_SPINS 0
+
 typedef union
 {
   char __size[__SIZEOF_PTHREAD_MUTEXATTR_T];
diff --git a/sysdeps/unix/sysv/linux/aarch64/nptl/bits/pthreadtypes.h b/sysdeps/unix/sysv/linux/aarch64/nptl/bits/pthreadtypes.h
index f11eeabb17..1a44bb6101 100644
--- a/sysdeps/unix/sysv/linux/aarch64/nptl/bits/pthreadtypes.h
+++ b/sysdeps/unix/sysv/linux/aarch64/nptl/bits/pthreadtypes.h
@@ -74,6 +74,9 @@ typedef union
   long int __align;
 } pthread_mutex_t;
 
+/* Mutex __spins initializer used by PTHREAD_MUTEX_INITIALIZER.  */
+#define __PTHREAD_SPINS 0
+
 typedef union
 {
   char __size[__SIZEOF_PTHREAD_MUTEXATTR_T];
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/bits/pthreadtypes.h b/sysdeps/unix/sysv/linux/alpha/nptl/bits/pthreadtypes.h
index 6f85eae5b0..3dbe6127dd 100644
--- a/sysdeps/unix/sysv/linux/alpha/nptl/bits/pthreadtypes.h
+++ b/sysdeps/unix/sysv/linux/alpha/nptl/bits/pthreadtypes.h
@@ -73,6 +73,9 @@ typedef union
   long int __align;
 } pthread_mutex_t;
 
+/* Mutex __spins initializer used by PTHREAD_MUTEX_INITIALIZER.  */
+#define __PTHREAD_SPINS 0
+
 typedef union
 {
   char __size[__SIZEOF_PTHREAD_MUTEXATTR_T];
diff --git a/sysdeps/unix/sysv/linux/arm/nptl/bits/pthreadtypes.h b/sysdeps/unix/sysv/linux/arm/nptl/bits/pthreadtypes.h
index 26edce54fe..64b9e0963e 100644
--- a/sysdeps/unix/sysv/linux/arm/nptl/bits/pthreadtypes.h
+++ b/sysdeps/unix/sysv/linux/arm/nptl/bits/pthreadtypes.h
@@ -77,6 +77,9 @@ typedef union
   long int __align;
 } pthread_mutex_t;
 
+/* Mutex __spins initializer used by PTHREAD_MUTEX_INITIALIZER.  */
+#define __PTHREAD_SPINS 0
+
 typedef union
 {
   char __size[__SIZEOF_PTHREAD_MUTEXATTR_T];
diff --git a/sysdeps/unix/sysv/linux/ia64/nptl/bits/pthreadtypes.h b/sysdeps/unix/sysv/linux/ia64/nptl/bits/pthreadtypes.h
index b77b80ab22..9468329000 100644
--- a/sysdeps/unix/sysv/linux/ia64/nptl/bits/pthreadtypes.h
+++ b/sysdeps/unix/sysv/linux/ia64/nptl/bits/pthreadtypes.h
@@ -74,6 +74,9 @@ typedef union
   long int __align;
 } pthread_mutex_t;
 
+/* Mutex __spins initializer used by PTHREAD_MUTEX_INITIALIZER.  */
+#define __PTHREAD_SPINS 0
+
 typedef union
 {
   char __size[__SIZEOF_PTHREAD_MUTEXATTR_T];
diff --git a/sysdeps/unix/sysv/linux/m68k/nptl/bits/pthreadtypes.h b/sysdeps/unix/sysv/linux/m68k/nptl/bits/pthreadtypes.h
index 283f240d55..1e1fed82dc 100644
--- a/sysdeps/unix/sysv/linux/m68k/nptl/bits/pthreadtypes.h
+++ b/sysdeps/unix/sysv/linux/m68k/nptl/bits/pthreadtypes.h
@@ -77,6 +77,9 @@ typedef union
   long int __align;
 } pthread_mutex_t;
 
+/* Mutex __spins initializer used by PTHREAD_MUTEX_INITIALIZER.  */
+#define __PTHREAD_SPINS 0
+
 typedef union
 {
   char __size[__SIZEOF_PTHREAD_MUTEXATTR_T];
diff --git a/sysdeps/unix/sysv/linux/microblaze/nptl/bits/pthreadtypes.h b/sysdeps/unix/sysv/linux/microblaze/nptl/bits/pthreadtypes.h
index ca053e3e18..9c7e620e2e 100644
--- a/sysdeps/unix/sysv/linux/microblaze/nptl/bits/pthreadtypes.h
+++ b/sysdeps/unix/sysv/linux/microblaze/nptl/bits/pthreadtypes.h
@@ -76,6 +76,9 @@ typedef union
   long int __align;
 } pthread_mutex_t;
 
+/* Mutex __spins initializer used by PTHREAD_MUTEX_INITIALIZER.  */
+#define __PTHREAD_SPINS 0
+
 typedef union
 {
   char __size[__SIZEOF_PTHREAD_MUTEXATTR_T];
diff --git a/sysdeps/unix/sysv/linux/mips/nptl/bits/pthreadtypes.h b/sysdeps/unix/sysv/linux/mips/nptl/bits/pthreadtypes.h
index 9d9386b146..cefd2b6316 100644
--- a/sysdeps/unix/sysv/linux/mips/nptl/bits/pthreadtypes.h
+++ b/sysdeps/unix/sysv/linux/mips/nptl/bits/pthreadtypes.h
@@ -106,6 +106,9 @@ typedef union
   long int __align;
 } pthread_mutex_t;
 
+/* Mutex __spins initializer used by PTHREAD_MUTEX_INITIALIZER.  */
+#define __PTHREAD_SPINS 0
+
 typedef union
 {
   char __size[__SIZEOF_PTHREAD_MUTEXATTR_T];
diff --git a/sysdeps/unix/sysv/linux/tile/nptl/bits/pthreadtypes.h b/sysdeps/unix/sysv/linux/tile/nptl/bits/pthreadtypes.h
index f4693527f1..5ca3391ce5 100644
--- a/sysdeps/unix/sysv/linux/tile/nptl/bits/pthreadtypes.h
+++ b/sysdeps/unix/sysv/linux/tile/nptl/bits/pthreadtypes.h
@@ -112,6 +112,9 @@ typedef union
   int __align;
 } pthread_mutexattr_t;
 
+/* Mutex __spins initializer used by PTHREAD_MUTEX_INITIALIZER.  */
+#define __PTHREAD_SPINS 0
+
 
 /* Data structure for conditional variable handling.  The structure of
    the attribute type is not exposed on purpose.  */