m68k: force alignment of futex variables
authorAndreas Schwab <schwab@linux-m68k.org>
Fri, 11 Jun 2010 19:58:32 +0000 (21:58 +0200)
committerAndreas Schwab <schwab@linux-m68k.org>
Fri, 11 Jun 2010 19:59:21 +0000 (21:59 +0200)
ChangeLog.m68k
sysdeps/unix/sysv/linux/m68k/nptl/bits/pthreadtypes.h

index cdc0ab5..6cf5d39 100644 (file)
@@ -1,3 +1,8 @@
+2010-06-11  Andreas Schwab  <schwab@linux-m68k.org>
+
+       * sysdeps/unix/sysv/linux/m68k/nptl/bits/pthreadtypes.h: Force
+       alignment of futex variables.
+
 2010-05-22  Andreas Schwab  <schwab@linux-m68k.org>
 
        * data/c++-types-m68k-linux-gnu.data: New file.
index 0140810..832609d 100644 (file)
@@ -57,7 +57,7 @@ typedef union
 {
   struct __pthread_mutex_s
   {
-    int __lock;
+    int __lock __attribute__ ((__aligned__ (4)));
     unsigned int __count;
     int __owner;
     /* KIND must stay at this position in the structure to maintain
@@ -87,7 +87,7 @@ typedef union
 {
   struct
   {
-    int __lock;
+    int __lock __attribute__ ((__aligned__ (4)));
     unsigned int __futex;
     __extension__ unsigned long long int __total_seq;
     __extension__ unsigned long long int __wakeup_seq;
@@ -112,7 +112,7 @@ typedef unsigned int pthread_key_t;
 
 
 /* Once-only execution */
-typedef int pthread_once_t;
+typedef int __attribute__ ((__aligned__ (4))) pthread_once_t;
 
 
 #if defined __USE_UNIX98 || defined __USE_XOPEN2K
@@ -122,7 +122,7 @@ typedef union
 {
   struct
   {
-    int __lock;
+    int __lock __attribute__ ((__aligned__ (4)));
     unsigned int __nr_readers;
     unsigned int __readers_wakeup;
     unsigned int __writer_wakeup;
@@ -158,7 +158,7 @@ typedef volatile int pthread_spinlock_t;
 typedef union
 {
   char __size[__SIZEOF_PTHREAD_BARRIER_T];
-  long int __align;
+  long int __align __attribute__ ((__aligned__ (4)));
 } pthread_barrier_t;
 
 typedef union