about summary refs log tree commit diff
diff options
context:
space:
mode:
authorTorvald Riegel <triegel@redhat.com>2017-01-02 15:39:14 +0100
committerTorvald Riegel <triegel@redhat.com>2017-01-02 15:39:14 +0100
commit62210e7eb1b270c72c2ee61a14015285cd817262 (patch)
tree7a952a9df8e39756eb8ac4850c0d67e7f1b73919
parentdcf83b54ab806f773e2db0d8399509015e481624 (diff)
downloadglibc-62210e7eb1b270c72c2ee61a14015285cd817262.tar.gz
glibc-62210e7eb1b270c72c2ee61a14015285cd817262.tar.xz
glibc-62210e7eb1b270c72c2ee61a14015285cd817262.zip
Fix pthread_cond_t on sparc for new condvar.
	* sysdeps/sparc/nptl/bits/pthreadtypes.h (pthread_cond_t): Adapt to
	new condvar.
-rw-r--r--ChangeLog5
-rw-r--r--sysdeps/sparc/nptl/bits/pthreadtypes.h29
2 files changed, 26 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index 0ce133c558..a98aea23b1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2017-01-02  Torvald Riegel  <triegel@redhat.com>
+
+	* sysdeps/sparc/nptl/bits/pthreadtypes.h (pthread_cond_t): Adapt to
+	new condvar.
+
 2017-01-02  Joseph Myers  <joseph@codesourcery.com>
 
 	* scripts/build-many-glibcs.py (Context.checkout): Default
diff --git a/sysdeps/sparc/nptl/bits/pthreadtypes.h b/sysdeps/sparc/nptl/bits/pthreadtypes.h
index ebef53aee0..5685d950e5 100644
--- a/sysdeps/sparc/nptl/bits/pthreadtypes.h
+++ b/sysdeps/sparc/nptl/bits/pthreadtypes.h
@@ -122,14 +122,27 @@ typedef union
 {
   struct
   {
-    int __lock;
-    unsigned int __futex;
-    __extension__ unsigned long long int __total_seq;
-    __extension__ unsigned long long int __wakeup_seq;
-    __extension__ unsigned long long int __woken_seq;
-    void *__mutex;
-    unsigned int __nwaiters;
-    unsigned int __broadcast_seq;
+    __extension__ union
+    {
+      __extension__ unsigned long long int __wseq;
+      struct {
+	unsigned int __low;
+	unsigned int __high;
+      } __wseq32;
+    };
+    __extension__ union
+    {
+      __extension__ unsigned long long int __g1_start;
+      struct {
+	unsigned int __low;
+	unsigned int __high;
+      } __g1_start32;
+    };
+    unsigned int __g_refs[2];
+    unsigned int __g_size[2];
+    unsigned int __g1_orig_size;
+    unsigned int __wrefs;
+    unsigned int __g_signals[2];
   } __data;
   char __size[__SIZEOF_PTHREAD_COND_T];
   __extension__ long long int __align;