summaryrefslogtreecommitdiff
path: root/nptl/sysdeps/unix/sysv/linux/mips/bits/pthreadtypes.h
diff options
context:
space:
mode:
Diffstat (limited to 'nptl/sysdeps/unix/sysv/linux/mips/bits/pthreadtypes.h')
-rw-r--r--nptl/sysdeps/unix/sysv/linux/mips/bits/pthreadtypes.h17
1 files changed, 13 insertions, 4 deletions
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;