This is the mail archive of the libc-ports@sources.redhat.com mailing list for the libc-ports project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: glibc 2.5.1 and 2.6.1


On Wed, Aug 01, 2007 at 07:06:32AM +0200, Aurelien Jarno wrote:
> Daniel Jacobowitz a écrit :
> > On Tue, Jul 31, 2007 at 10:33:33PM +0200, Jakub Jelinek wrote:
> >> Hi!
> >>
> >> I have tagged today glibc-2_5_1 and glibc-2_6_1.
> >> What's the current status of ports branches?  Are they taggable
> >> right away, or is there any plan to make them work soon?
> >> Both 2.5.1 and 2.6.1 contain a backport of the ld.so locking fixes,
> >> so there is some per-arch work needed (THREAD_GSCOPE_* in tls.h
> >> and on TLS_TCB_AT_TP arches also add gscope_flag to tcbhead_t).
> >> There were no changes on the release branches which require
> >> arch specific updates since Jul 12th or so, the more recent changes
> >> were all generic code only.
> > 
> > I personally don't have time to keep up with ports release branches.
> > If someone else is interested in updating the branches, I'll be glad
> > to commit patches on their behalf.
> 
> AFAIK THREAD_GSCOPE_* stuff is already in the SVN for arm, mips and
> hppa, so it's just a question of merging them into the branches.
> 
> I can send you a patch for those 3 architectures.
> 

Please find attached patches for mips, arm and hppa to apply to the
glibc 2.6 branch. They are just backports from HEAD.

-- 
  .''`.  Aurelien Jarno	            | GPG: 1024D/F1BCDB73
 : :' :  Debian developer           | Electrical Engineer
 `. `'   aurel32@debian.org         | aurelien@aurel32.net
   `-    people.debian.org/~aurel32 | www.aurel32.net
2007-07-10  Daniel Jacobowitz  <dan@codesourcery.com>

        * sysdeps/arm/nptl/tls.h (THREAD_GSCOPE_FLAG_UNUSED,
        THREAD_GSCOPE_FLAG_USED, THREAD_GSCOPE_FLAG_WAIT): Define.
        (THREAD_GSCOPE_RESET_FLAG, THREAD_GSCOPE_SET_FLAG,
        THREAD_GSCOPE_WAIT): Define.

===================================================================
RCS file: /cvs/glibc/ports/sysdeps/arm/nptl/tls.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ports/sysdeps/arm/nptl/tls.h	2005/11/16 19:03:42	1.1
+++ ports/sysdeps/arm/nptl/tls.h	2007/06/06 17:27:04	1.2
@@ -1,5 +1,5 @@
 /* Definition for thread-local data handling.  NPTL/ARM version.
-   Copyright (C) 2005 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2007 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
@@ -132,6 +132,29 @@
    is not available.  */
 #define TLS_INIT_TP_EXPENSIVE 1
 
+/* Get and set the global scope generation counter in struct pthread.  */
+#define THREAD_GSCOPE_FLAG_UNUSED 0
+#define THREAD_GSCOPE_FLAG_USED   1
+#define THREAD_GSCOPE_FLAG_WAIT   2
+#define THREAD_GSCOPE_RESET_FLAG() \
+  do									     \
+    { int __res								     \
+	= atomic_exchange_rel (&THREAD_SELF->header.gscope_flag,	     \
+			       THREAD_GSCOPE_FLAG_UNUSED);		     \
+      if (__res == THREAD_GSCOPE_FLAG_WAIT)				     \
+	lll_futex_wake (&THREAD_SELF->header.gscope_flag, 1);		     \
+    }									     \
+  while (0)
+#define THREAD_GSCOPE_SET_FLAG() \
+  do									     \
+    {									     \
+      THREAD_SELF->header.gscope_flag = THREAD_GSCOPE_FLAG_USED;	     \
+      atomic_write_barrier ();						     \
+    }									     \
+  while (0)
+#define THREAD_GSCOPE_WAIT() \
+  GL(dl_wait_lookup_done) ()
+
 #endif /* __ASSEMBLER__ */
 
 #endif	/* tls.h */
2007-07-28  Carlos O'Donell  <carlos@systemhalted.org>

        * sysdeps/hppa/nptl/tls.h: Define THREAD_GSCOPE_FLAG_UNUSED,
        THREAD_GSCOPE_FLAG_USED, THREAD_GSOPE_FLAG_WAIT,
        THREAD_GSCOPE_RSEET_FLAG, THREAD_GSCOPE_SET_FLAG, THREAD_GSCOPE_WAIT.
        Update copyright.

===================================================================
RCS file: /cvs/glibc/ports/sysdeps/hppa/nptl/tls.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ports/sysdeps/hppa/nptl/tls.h	2006/07/16 18:25:24	1.2
+++ ports/sysdeps/hppa/nptl/tls.h	2007/07/28 21:26:44	1.3
@@ -1,5 +1,5 @@
 /* Definition for thread-local data handling.  NPTL/hppa version.
-   Copyright (C) 2005 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2007 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
@@ -146,6 +147,29 @@
 	: : "r" (cr27) : "r26" );
 }
 
+/* Get and set the global scope generation counter in struct pthread.  */
+#define THREAD_GSCOPE_FLAG_UNUSED 0
+#define THREAD_GSCOPE_FLAG_USED   1
+#define THREAD_GSCOPE_FLAG_WAIT   2
+#define THREAD_GSCOPE_RESET_FLAG() \
+  do									     \
+    { int __res								     \
+	= atomic_exchange_rel (&THREAD_SELF->header.gscope_flag,	     \
+			       THREAD_GSCOPE_FLAG_UNUSED);		     \
+      if (__res == THREAD_GSCOPE_FLAG_WAIT)				     \
+	lll_private_futex_wake (&THREAD_SELF->header.gscope_flag, 1);	     \
+    }									     \
+  while (0)
+#define THREAD_GSCOPE_SET_FLAG() \
+  do									     \
+    {									     \
+      THREAD_SELF->header.gscope_flag = THREAD_GSCOPE_FLAG_USED;	     \
+      atomic_write_barrier ();						     \
+    }									     \
+  while (0)
+#define THREAD_GSCOPE_WAIT() \
+  GL(dl_wait_lookup_done) ()
+
 #endif /* __ASSEMBLER__ */
 
 #endif	/* tls.h */
2007-06-06  Daniel Jacobowitz  <dan@codesourcery.com>

        * sysdeps/mips/nptl/tls.h (THREAD_GSCOPE_FLAG_UNUSED,
        THREAD_GSCOPE_FLAG_USED, THREAD_GSCOPE_FLAG_WAIT): Define.
        (THREAD_GSCOPE_RESET_FLAG, THREAD_GSCOPE_SET_FLAG,
        THREAD_GSCOPE_WAIT): Define.

===================================================================
RCS file: /cvs/glibc/ports/sysdeps/mips/nptl/tls.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ports/sysdeps/mips/nptl/tls.h	2005/03/28 09:19:38	1.1
+++ ports/sysdeps/mips/nptl/tls.h	2007/06/06 17:27:04	1.2
@@ -1,5 +1,5 @@
 /* Definition for thread-local data handling.  NPTL/MIPS version.
-   Copyright (C) 2005 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2007 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
@@ -156,6 +156,29 @@
    different value to mean unset l_tls_offset.  */
 # define NO_TLS_OFFSET		-1
 
+/* Get and set the global scope generation counter in struct pthread.  */
+#define THREAD_GSCOPE_FLAG_UNUSED 0
+#define THREAD_GSCOPE_FLAG_USED   1
+#define THREAD_GSCOPE_FLAG_WAIT   2
+#define THREAD_GSCOPE_RESET_FLAG() \
+  do									     \
+    { int __res								     \
+	= atomic_exchange_rel (&THREAD_SELF->header.gscope_flag,	     \
+			       THREAD_GSCOPE_FLAG_UNUSED);		     \
+      if (__res == THREAD_GSCOPE_FLAG_WAIT)				     \
+	lll_futex_wake (&THREAD_SELF->header.gscope_flag, 1);		     \
+    }									     \
+  while (0)
+#define THREAD_GSCOPE_SET_FLAG() \
+  do									     \
+    {									     \
+      THREAD_SELF->header.gscope_flag = THREAD_GSCOPE_FLAG_USED;	     \
+      atomic_write_barrier ();						     \
+    }									     \
+  while (0)
+#define THREAD_GSCOPE_WAIT() \
+  GL(dl_wait_lookup_done) ()
+
 #endif /* __ASSEMBLER__ */
 
 #endif	/* tls.h */

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]