diff options
Diffstat (limited to 'sysdeps/m68k')
-rw-r--r-- | sysdeps/m68k/nptl/bits/pthreadtypes.h | 32 |
1 files changed, 23 insertions, 9 deletions
diff --git a/sysdeps/m68k/nptl/bits/pthreadtypes.h b/sysdeps/m68k/nptl/bits/pthreadtypes.h index d195492f35..296990814a 100644 --- a/sysdeps/m68k/nptl/bits/pthreadtypes.h +++ b/sysdeps/m68k/nptl/bits/pthreadtypes.h @@ -88,19 +88,33 @@ typedef union /* Data structure for conditional variable handling. The structure of - the attribute type is deliberately not exposed. */ + the attribute type is not exposed on purpose. */ typedef union { struct { - int __lock __attribute__ ((__aligned__ (4))); - 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; + }; + /* Enforce proper alignment of fields used as futex words. */ + unsigned int __g_refs[2] __attribute__ ((__aligned__ (4))); + 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; |