[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[patches] Backport m68k futex fix
- To: "patches@xxxxxxxxxx" <patches@xxxxxxxxxx>
- Subject: [patches] Backport m68k futex fix
- From: Maxim Kuvyrkov <maxim@xxxxxxxxxxxxxxxx>
- Date: Thu, 22 Jul 2010 19:46:39 +0400
I've backported the following patch from trunk to eglibc-2_12 branch to
fix alignment issue with futex variables on m68k/ColdFire.
--
Maxim Kuvyrkov
CodeSourcery
maxim@xxxxxxxxxxxxxxxx
(650) 331-3385 x724
commit 0df56592854fa25ce091883cb60fc417283383b8
Author: Andreas Schwab <schwab@xxxxxxxxxxxxxx>
Date: Fri Jun 11 21:58:32 2010 +0200
m68k: force alignment of futex variables
diff --git a/ChangeLog.m68k b/ChangeLog.m68k
index cdc0ab5..6cf5d39 100644
--- a/ChangeLog.m68k
+++ b/ChangeLog.m68k
@@ -1,3 +1,8 @@
+2010-06-11 Andreas Schwab <schwab@xxxxxxxxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/m68k/nptl/bits/pthreadtypes.h: Force
+ alignment of futex variables.
+
2010-05-22 Andreas Schwab <schwab@xxxxxxxxxxxxxx>
* data/c++-types-m68k-linux-gnu.data: New file.
diff --git a/sysdeps/unix/sysv/linux/m68k/nptl/bits/pthreadtypes.h b/sysdeps/unix/sysv/linux/m68k/nptl/bits/pthreadtypes.h
index 0140810..832609d 100644
--- a/sysdeps/unix/sysv/linux/m68k/nptl/bits/pthreadtypes.h
+++ b/sysdeps/unix/sysv/linux/m68k/nptl/bits/pthreadtypes.h
@@ -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