public inbox for libc-hacker@sourceware.org
 help / color / mirror / Atom feed
* nptl patches
@ 2005-12-27  1:32 Ulrich Drepper
  2005-12-27  6:20 ` David S. Miller
  0 siblings, 1 reply; 4+ messages in thread
From: Ulrich Drepper @ 2005-12-27  1:32 UTC (permalink / raw)
  To: GNU libc hacker

[-- Attachment #1: Type: text/plain, Size: 349 bytes --]

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.

-- 
➧ Ulrich Drepper ➧ Red Hat, Inc. ➧ 444 Castro St ➧ Mountain View, CA ❖


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 251 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: nptl patches
  2005-12-27  1:32 nptl patches Ulrich Drepper
@ 2005-12-27  6:20 ` David S. Miller
  2005-12-27 11:31   ` [PATCH] <bits/pthreadtypes.h> updates Jakub Jelinek
  0 siblings, 1 reply; 4+ messages in thread
From: David S. Miller @ 2005-12-27  6:20 UTC (permalink / raw)
  To: drepper; +Cc: libc-hacker

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.

2005-12-26  David S. Miller  <davem@sunset.davemloft.net>

	* sysdeps/unix/sysv/linux/sparc/bits/pthreadtypes.h: Add __next
	field to pthread_mutex_t.

Index: sysdeps/unix/sysv/linux/sparc/bits/pthreadtypes.h
===================================================================
RCS file: /cvs/glibc/libc/nptl/sysdeps/unix/sysv/linux/sparc/bits/pthreadtypes.h,v
retrieving revision 1.8
diff -u -r1.8 pthreadtypes.h
--- sysdeps/unix/sysv/linux/sparc/bits/pthreadtypes.h	28 Sep 2004 10:33:54 -0000	1.8
+++ sysdeps/unix/sysv/linux/sparc/bits/pthreadtypes.h	27 Dec 2005 06:18:42 -0000
@@ -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;

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH] <bits/pthreadtypes.h> updates
  2005-12-27  6:20 ` David S. Miller
@ 2005-12-27 11:31   ` Jakub Jelinek
  2005-12-27 15:09     ` Ulrich Drepper
  0 siblings, 1 reply; 4+ messages in thread
From: Jakub Jelinek @ 2005-12-27 11:31 UTC (permalink / raw)
  To: Ulrich Drepper, David S. Miller; +Cc: libc-hacker

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] <bits/pthreadtypes.h> updates
  2005-12-27 11:31   ` [PATCH] <bits/pthreadtypes.h> updates Jakub Jelinek
@ 2005-12-27 15:09     ` Ulrich Drepper
  0 siblings, 0 replies; 4+ messages in thread
From: Ulrich Drepper @ 2005-12-27 15:09 UTC (permalink / raw)
  To: Jakub Jelinek; +Cc: libc-hacker

[-- Attachment #1: Type: text/plain, Size: 101 bytes --]

Applied.

-- 
➧ Ulrich Drepper ➧ Red Hat, Inc. ➧ 444 Castro St ➧ Mountain View, CA ❖


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 251 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2005-12-27 15:09 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-12-27  1:32 nptl patches Ulrich Drepper
2005-12-27  6:20 ` David S. Miller
2005-12-27 11:31   ` [PATCH] <bits/pthreadtypes.h> updates Jakub Jelinek
2005-12-27 15:09     ` Ulrich Drepper

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).