This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc 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]

GNU C Library master sources branch, master, updated. glibc-2.14-594-g2c1094b


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  2c1094bd700e63a8d7f547b3f5495bedb55c0a08 (commit)
      from  3b8dfc621bfd320c924a3cd597086d3473da1cf4 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=2c1094bd700e63a8d7f547b3f5495bedb55c0a08

commit 2c1094bd700e63a8d7f547b3f5495bedb55c0a08
Author: Ulrich Drepper <drepper@gmail.com>
Date:   Thu Dec 22 22:43:39 2011 -0500

    Create internal threads with sufficient stack size

diff --git a/NEWS b/NEWS
index a66546e..dee43eb 100644
--- a/NEWS
+++ b/NEWS
@@ -10,11 +10,11 @@ Version 2.15
 * The following bugs are resolved with this release:
 
   6779, 6783, 9696, 10103, 10709, 11589, 12403, 12847, 12868, 12852, 12874,
-  12885, 12892, 12907, 12922, 12935, 13007, 13021, 13067, 13068, 13090,
-  13092, 13096, 13114, 13118, 13123, 13134, 13138, 13147, 13150, 13166,
-  13179, 13185, 13189, 13192, 13268, 13276, 13282, 13291, 13305, 13328,
-  13335, 13337, 13344, 13358, 13367, 13413, 13416, 13423, 13439, 13446,
-  13472, 13484, 13506, 13515, 13523, 13524, 13538, 13540
+  12885, 12892, 12907, 12922, 12935, 13007, 13021, 13067, 13068, 13088,
+  13090, 13092, 13096, 13114, 13118, 13123, 13134, 13138, 13147, 13150,
+  13166, 13179, 13185, 13189, 13192, 13268, 13276, 13282, 13291, 13305,
+  13328, 13335, 13337, 13344, 13358, 13367, 13413, 13416, 13423, 13439,
+  13446, 13472, 13484, 13506, 13515, 13523, 13524, 13538, 13540
 
 * New program pldd to list loaded object of a process
   Implemented by Ulrich Drepper.
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index 31177bf..3d697da 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,3 +1,14 @@
+2011-12-22  Ulrich Drepper  <drepper@gmail.com>
+
+	[BZ #13088]
+	* sysdeps/unix/sysv/linux/timer_routines.c: Get minimum stack size
+	through __pthread_get_minstack.
+	* nptl-init.c (__pthread_initialize_minimal_internal): Get page size
+	directly from _rtld_global_ro.
+	(__pthread_get_minstack): New function.
+	* pthreadP.h: Declare __pthread_get_minstack.
+	* Versions (libpthread) [GLIBC_PRIVATE]: Add __pthread_get_minstack.
+
 2011-12-21  Ulrich Drepper  <drepper@gmail.com>
 
 	[BZ #13515]
diff --git a/nptl/Versions b/nptl/Versions
index 5a88420..6a10375 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -255,6 +255,6 @@ libpthread {
   GLIBC_PRIVATE {
     __pthread_initialize_minimal;
     __pthread_clock_gettime; __pthread_clock_settime;
-    __pthread_unwind;
+    __pthread_unwind; __pthread_get_minstack;
   }
 }
diff --git a/nptl/nptl-init.c b/nptl/nptl-init.c
index db45cab..4349224 100644
--- a/nptl/nptl-init.c
+++ b/nptl/nptl-init.c
@@ -427,7 +427,7 @@ __pthread_initialize_minimal_internal (void)
 
   /* Make sure it meets the minimum size that allocate_stack
      (allocatestack.c) will demand, which depends on the page size.  */
-  const uintptr_t pagesz = __sysconf (_SC_PAGESIZE);
+  const uintptr_t pagesz = GLRO(dl_pagesize);
   const size_t minstack = pagesz + __static_tls_size + MINIMAL_REST_STACK;
   if (limit.rlim_cur < minstack)
     limit.rlim_cur = minstack;
@@ -469,3 +469,13 @@ __pthread_initialize_minimal_internal (void)
 }
 strong_alias (__pthread_initialize_minimal_internal,
 	      __pthread_initialize_minimal)
+
+
+size_t
+__pthread_get_minstack (const pthread_attr_t *attr)
+{
+  struct pthread_attr *iattr = (struct pthread_attr *) attr;
+
+  return (GLRO(dl_pagesize) + __static_tls_size + PTHREAD_STACK_MIN
+	  + iattr->guardsize);
+}
diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h
index df4f4d7..845434e 100644
--- a/nptl/pthreadP.h
+++ b/nptl/pthreadP.h
@@ -397,6 +397,7 @@ weak_function;
 
 extern void __pthread_init_static_tls (struct link_map *) attribute_hidden;
 
+extern size_t __pthread_get_minstack (const pthread_attr_t *attr);
 
 /* Namespace save aliases.  */
 extern int __pthread_getschedparam (pthread_t thread_id, int *policy,
diff --git a/nptl/sysdeps/unix/sysv/linux/timer_routines.c b/nptl/sysdeps/unix/sysv/linux/timer_routines.c
index b159316..44da856 100644
--- a/nptl/sysdeps/unix/sysv/linux/timer_routines.c
+++ b/nptl/sysdeps/unix/sysv/linux/timer_routines.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 2003-2007, 2011 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2003.
 
@@ -165,7 +165,7 @@ __start_helper_thread (void)
      and should go away automatically when canceled.  */
   pthread_attr_t attr;
   (void) pthread_attr_init (&attr);
-  (void) pthread_attr_setstacksize (&attr, PTHREAD_STACK_MIN);
+  (void) pthread_attr_setstacksize (&attr, __pthread_get_minstack (&attr));
 
   /* Block all signals in the helper thread but SIGSETXID.  To do this
      thoroughly we temporarily have to block all signals here.  The

-----------------------------------------------------------------------

Summary of changes:
 NEWS                                          |   10 +++++-----
 nptl/ChangeLog                                |   11 +++++++++++
 nptl/Versions                                 |    2 +-
 nptl/nptl-init.c                              |   12 +++++++++++-
 nptl/pthreadP.h                               |    1 +
 nptl/sysdeps/unix/sysv/linux/timer_routines.c |    4 ++--
 6 files changed, 31 insertions(+), 9 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


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