This is the mail archive of the libc-hacker@sourceware.org mailing list for the glibc project.
Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On Mon, Dec 26, 2005 at 10:20:48PM -0800, David S. Miller wrote: > From: Ulrich Drepper <drepper@redhat.com> > Date: Mon, 26 Dec 2005 17:32:06 -0800 > > > The patches I checked in work fine on x86. I couldn't test x86-64 > > because I experience some mysterious build problems. I think they > > existed before the set of patches got checked in. Other archs need > > adjustment of the pthread_mutex_t type definition. > > This should take care of Sparc. > @@ -60,7 +60,7 @@ > > /* Data structures for mutex handling. The structure of the attribute > type is deliberately not exposed. */ > -typedef union > +typedef union __pthread_mutex_u > { > struct > { > @@ -76,7 +76,11 @@ > #if __WORDSIZE != 64 > unsigned int __nusers; > #endif > - int __spins; > + union > + { > + int __spins; > + union __pthread_mutex_u *__next; > + }; > } __data; > char __size[__SIZEOF_PTHREAD_MUTEX_T]; > long int __align; This is only correct for SPARC 32-bit. The actual changes should look following way, will test it later on today. BTW, Uli, can you please sed -i -e 's,\* nptl/,* ,;s/cpoyright/copyright/' nptl/ChangeLog && ci -m . nptl/ChangeLog ? 2005-12-27 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/alpha/bits/pthreadtypes.h: Add __next and __prev field to pthread_mutex_t. * sysdeps/unix/sysv/linux/ia64/bits/pthreadtypes.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h: Likewise. * sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/pthreadtypes.h: Likewise. * sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h: Add __next field to pthread_mutex_t. --- libc/nptl/sysdeps/unix/sysv/linux/alpha/bits/pthreadtypes.h.jj 2005-07-20 10:32:46.000000000 +0200 +++ libc/nptl/sysdeps/unix/sysv/linux/alpha/bits/pthreadtypes.h 2005-12-27 12:13:43.000000000 +0100 @@ -45,7 +45,7 @@ typedef union /* Data structures for mutex handling. The structure of the attribute type is deliberately not exposed. */ -typedef union +typedef union __pthread_mutex_u { struct { @@ -57,6 +57,9 @@ typedef union binary compatibility. */ int __kind; int __spins; + union __pthread_mutex_u *__next; + union __pthread_mutex_u *__prev; +#define __PTHREAD_MUTEX_HAVE_PREV 1 } __data; char __size[__SIZEOF_PTHREAD_MUTEX_T]; long int __align; --- libc/nptl/sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h.jj 2004-09-30 00:50:04.000000000 +0200 +++ libc/nptl/sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h 2005-12-27 12:21:49.000000000 +0100 @@ -1,4 +1,4 @@ -/* Copyright (C) 2003, 2004 Free Software Foundation, Inc. +/* Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Martin Schwidefsky <schwidefsky@de.ibm.com>, 2003. @@ -59,7 +59,7 @@ typedef union /* Data structures for mutex handling. The structure of the attribute type is not exposed on purpose. */ -typedef union +typedef union __pthread_mutex_u { struct { @@ -72,10 +72,19 @@ typedef union /* KIND must stay at this position in the structure to maintain binary compatibility. */ int __kind; -#if __WORDSIZE != 64 +#if __WORDSIZE == 64 + int __spins; + union __pthread_mutex_u *__next; + union __pthread_mutex_u *__prev; +# define __PTHREAD_MUTEX_HAVE_PREV 1 +#else unsigned int __nusers; + union + { + int __spins; + union __pthread_mutex_u *__next; + }; #endif - int __spins; } __data; char __size[__SIZEOF_PTHREAD_MUTEX_T]; long int __align; --- libc/nptl/sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h.jj 2004-09-30 00:50:04.000000000 +0200 +++ libc/nptl/sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h 2005-12-27 12:19:37.000000000 +0100 @@ -1,5 +1,5 @@ /* Machine-specific pthread type layouts. PowerPC version. - Copyright (C) 2003, 2004 Free Software Foundation, Inc. + Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Paul Mackerras <paulus@au.ibm.com>, 2003. @@ -60,7 +60,7 @@ typedef union /* Data structures for mutex handling. The structure of the attribute type is deliberately not exposed. */ -typedef union +typedef union __pthread_mutex_u { struct { @@ -73,10 +73,19 @@ typedef union /* KIND must stay at this position in the structure to maintain binary compatibility. */ int __kind; -#if __WORDSIZE != 64 +#if __WORDSIZE == 64 + int __spins; + union __pthread_mutex_u *__next; + union __pthread_mutex_u *__prev; +# define __PTHREAD_MUTEX_HAVE_PREV 1 +#else unsigned int __nusers; + union + { + int __spins; + union __pthread_mutex_u *__next; + }; #endif - int __spins; } __data; char __size[__SIZEOF_PTHREAD_MUTEX_T]; long int __align; --- libc/nptl/sysdeps/unix/sysv/linux/sparc/bits/pthreadtypes.h.jj 2004-09-30 00:50:04.000000000 +0200 +++ libc/nptl/sysdeps/unix/sysv/linux/sparc/bits/pthreadtypes.h 2005-12-27 12:24:13.000000000 +0100 @@ -1,5 +1,5 @@ /* Machine-specific pthread type layouts. SPARC version. - Copyright (C) 2003, 2004 Free Software Foundation, Inc. + Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jakub Jelinek <jakub@redhat.com>, 2003. @@ -60,7 +60,7 @@ typedef union /* Data structures for mutex handling. The structure of the attribute type is deliberately not exposed. */ -typedef union +typedef union __pthread_mutex_u { struct { @@ -73,10 +73,19 @@ typedef union /* KIND must stay at this position in the structure to maintain binary compatibility. */ int __kind; -#if __WORDSIZE != 64 +#if __WORDSIZE == 64 + int __spins; + union __pthread_mutex_u *__next; + union __pthread_mutex_u *__prev; +# define __PTHREAD_MUTEX_HAVE_PREV 1 +#else unsigned int __nusers; + union + { + int __spins; + union __pthread_mutex_u *__next; + }; #endif - int __spins; } __data; char __size[__SIZEOF_PTHREAD_MUTEX_T]; long int __align; --- libc/nptl/sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h.jj 2005-07-20 10:37:43.000000000 +0200 +++ libc/nptl/sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h 2005-12-27 12:23:08.000000000 +0100 @@ -1,4 +1,4 @@ -/* Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. +/* Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@redhat.com>, 2002. @@ -46,7 +46,7 @@ typedef union /* Data structures for mutex handling. The structure of the attribute type is not exposed on purpose. */ -typedef union +typedef union __pthread_mutex_u { struct { @@ -57,7 +57,11 @@ typedef union binary compatibility. */ int __kind; unsigned int __nusers; - int __spins; + union + { + int __spins; + union __pthread_mutex_u *__next; + }; } __data; char __size[__SIZEOF_PTHREAD_MUTEX_T]; long int __align; --- libc/nptl/sysdeps/unix/sysv/linux/ia64/bits/pthreadtypes.h.jj 2004-09-30 00:50:04.000000000 +0200 +++ libc/nptl/sysdeps/unix/sysv/linux/ia64/bits/pthreadtypes.h 2005-12-27 12:16:36.000000000 +0100 @@ -1,4 +1,4 @@ -/* Copyright (C) 2003, 2004 Free Software Foundation, Inc. +/* Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jakub Jelinek <jakub@redhat.com>, 2003. @@ -45,7 +45,7 @@ typedef union /* Data structures for mutex handling. The structure of the attribute type is not exposed on purpose. */ -typedef union +typedef union __pthread_mutex_u { struct { @@ -57,6 +57,9 @@ typedef union binary compatibility. */ int __kind; int __spins; + union __pthread_mutex_u *__next; + union __pthread_mutex_u *__prev; +#define __PTHREAD_MUTEX_HAVE_PREV 1 } __data; char __size[__SIZEOF_PTHREAD_MUTEX_T]; long int __align; Jakub
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |