aboutsummaryrefslogtreecommitdiff
path: root/nptl
diff options
context:
space:
mode:
Diffstat (limited to 'nptl')
-rw-r--r--nptl/ChangeLog15
-rw-r--r--nptl/sysdeps/unix/sysv/linux/ia64/bits/pthreadtypes.h2
-rw-r--r--nptl/sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h20
-rw-r--r--nptl/sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h4
4 files changed, 37 insertions, 4 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index 36a32e2b08..e627616dcf 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,3 +1,18 @@
+2003-04-29 Jakub Jelinek <jakub@redhat.com>
+
+ * sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h
+ (__SIZEOF_PTHREAD_COND_T): Define to 48.
+ (pthread_rwlock_t): Add 16 bytes of pad instead of 8 before __flags.
+ * sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h (pthread_cond_t):
+ Make __align long long instead of long.
+ (pthread_rwlock_t): Formatting.
+ * sysdeps/unix/sysv/linux/ia64/bits/pthreadtypes.h
+ (pthread_rwlock_t): Formatting.
+ * sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h
+ (pthread_cond_t): Make __align long long instead of long.
+ (pthread_rwlock_t): Move __flags field to the same position as in
+ linuxthreads.
+
2003-04-30 Ulrich Drepper <drepper@redhat.com>
* tst-rwlock6.c (do_test): Use correct printf format specifiers.
diff --git a/nptl/sysdeps/unix/sysv/linux/ia64/bits/pthreadtypes.h b/nptl/sysdeps/unix/sysv/linux/ia64/bits/pthreadtypes.h
index 5b4127c76b..d3a5c91545 100644
--- a/nptl/sysdeps/unix/sysv/linux/ia64/bits/pthreadtypes.h
+++ b/nptl/sysdeps/unix/sysv/linux/ia64/bits/pthreadtypes.h
@@ -103,7 +103,7 @@ typedef int pthread_once_t;
structure of the attribute type is not exposed on purpose. */
typedef union
{
-struct
+ struct
{
int __lock;
unsigned int __nr_readers;
diff --git a/nptl/sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h b/nptl/sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h
index 728712a8c6..fb4533633d 100644
--- a/nptl/sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h
+++ b/nptl/sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h
@@ -95,7 +95,7 @@ typedef union
unsigned long long int __woken_seq;
} __data;
char __size[__SIZEOF_PTHREAD_COND_T];
- long int __align;
+ long long int __align;
} pthread_cond_t;
typedef union
@@ -118,6 +118,7 @@ typedef int pthread_once_t;
structure of the attribute type is deliberately not exposed. */
typedef union
{
+# if __WORDSIZE == 64
struct
{
int __lock;
@@ -127,10 +128,27 @@ typedef union
unsigned int __nr_readers_queued;
unsigned int __nr_writers_queued;
pthread_t __writer;
+ unsigned long int __pad1;
+ unsigned long int __pad2;
+ /* FLAGS must stay at this position in the structure to maintain
+ binary compatibility. */
+ unsigned int __flags;
+ } __data;
+# else
+ struct
+ {
+ int __lock;
+ unsigned int __nr_readers;
+ unsigned int __readers_wakeup;
+ unsigned int __writer_wakeup;
+ unsigned int __nr_readers_queued;
+ unsigned int __nr_writers_queued;
/* FLAGS must stay at this position in the structure to maintain
binary compatibility. */
unsigned int __flags;
+ pthread_t __writer;
} __data;
+# endif
char __size[__SIZEOF_PTHREAD_RWLOCK_T];
long int __align;
} pthread_rwlock_t;
diff --git a/nptl/sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h b/nptl/sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h
index aae8e90cdc..13dccc66dc 100644
--- a/nptl/sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h
+++ b/nptl/sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h
@@ -94,7 +94,7 @@ typedef union
unsigned long long int __woken_seq;
} __data;
char __size[__SIZEOF_PTHREAD_COND_T];
- long int __align;
+ long long int __align;
} pthread_cond_t;
typedef union
@@ -118,7 +118,7 @@ typedef int pthread_once_t;
typedef union
{
# if __WORDSIZE == 64
-struct
+ struct
{
int __lock;
unsigned int __nr_readers;