summary refs log tree commit diff
path: root/nptl
diff options
context:
space:
mode:
authorAndreas Jaeger <aj@suse.de>2006-01-18 08:41:47 +0000
committerAndreas Jaeger <aj@suse.de>2006-01-18 08:41:47 +0000
commit5f9f21e87c04233c8d917cd280c4f07208667b36 (patch)
treeb81565a50ce4c20019a0fd46eddd16f8a6712f5e /nptl
parentf0cf0902eab6ed0e1784823c92a358029f7c7b17 (diff)
downloadglibc-5f9f21e87c04233c8d917cd280c4f07208667b36.tar.gz
glibc-5f9f21e87c04233c8d917cd280c4f07208667b36.tar.xz
glibc-5f9f21e87c04233c8d917cd280c4f07208667b36.zip
[BZ #2167] * sysdeps/unix/sysv/linux/mips/bits/pthreadtypes.h (pthread_mutex_t): Follow changes for other archs. Based on patch by Jim Gifford <patches@jg555.com>.
2006-01-18  Andreas Jaeger  <aj@suse.de>

	[BZ #838]
	* sysdeps/unix/sysv/linux/mips/bits/pthreadtypes.h
	(pthread_mutex_t): Follow changes for other archs.  Based on patch
	by Jim Gifford <patches@jg555.com>.
Diffstat (limited to 'nptl')
-rw-r--r--nptl/ChangeLog7
-rw-r--r--nptl/sysdeps/unix/sysv/linux/mips/bits/pthreadtypes.h17
2 files changed, 20 insertions, 4 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index 10855a487d..23951bd1b9 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,3 +1,10 @@
+2006-01-18  Andreas Jaeger  <aj@suse.de>
+
+	[BZ #838]
+	* sysdeps/unix/sysv/linux/mips/bits/pthreadtypes.h
+	(pthread_mutex_t): Follow changes for other archs.  Based on patch
+	by Jim Gifford <patches@jg555.com>.
+
 2006-01-13  Richard Henderson  <rth@redhat.com>
 
 	* sysdeps/alpha/tls.h (tcbhead_t): Rename member to __private.
diff --git a/nptl/sysdeps/unix/sysv/linux/mips/bits/pthreadtypes.h b/nptl/sysdeps/unix/sysv/linux/mips/bits/pthreadtypes.h
index e14a487508..d5e89a9364 100644
--- a/nptl/sysdeps/unix/sysv/linux/mips/bits/pthreadtypes.h
+++ b/nptl/sysdeps/unix/sysv/linux/mips/bits/pthreadtypes.h
@@ -1,5 +1,5 @@
 /* Machine-specific pthread type layouts.  MIPS version.
-   Copyright (C) 2005 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -59,7 +59,7 @@ typedef union
    type is deliberately not exposed.  */
 typedef union
 {
-  struct
+  struct __pthread_mutex_s
   {
     int __lock;
     unsigned int __count;
@@ -70,10 +70,19 @@ typedef union
     /* KIND must stay at this position in the structure to maintain
        binary compatibility.  */
     int __kind;
-#if _MIPS_SIM != _ABI64
+#if _MIPS_SIM == _ABI64
+    int __spins;
+    struct __pthread_mutex_s *__next;
+    struct __pthread_mutex_s *__prev;
+# define __PTHREAD_MUTEX_HAVE_PREV	1
+#else
     unsigned int __nusers;
+    __extension__ union
+    {
+      int __spins;
+      struct __pthread_mutex_s *__next;
+    };
 #endif
-    int __spins;
   } __data;
   char __size[__SIZEOF_PTHREAD_MUTEX_T];
   long int __align;