Magic
authorDavid Bartley <dtbartle@maltodextrin.csclub.uwaterloo.ca>
Thu, 11 Sep 2008 22:55:57 +0000 (22:55 +0000)
committerDavid Bartley <dtbartle@maltodextrin.csclub.uwaterloo.ca>
Thu, 11 Sep 2008 22:55:57 +0000 (22:55 +0000)
nptl/init.c
nptl/sysdeps/i386/tls.h

index db887f5..cfec00e 100644 (file)
@@ -375,6 +375,7 @@ __pthread_initialize_minimal_internal (void)
 
   __static_tls_size = roundup (__static_tls_size, static_tls_align);
 
+#ifndef PTHREAD_USE_ARCH_STACK_DEFAULT_SIZE
   /* Determine the default allowed stack size.  This is the size used
      in case the user does not specify one.  */
   struct rlimit limit;
@@ -398,6 +399,10 @@ __pthread_initialize_minimal_internal (void)
   /* Round the resource limit up to page size.  */
   limit.rlim_cur = (limit.rlim_cur + pagesz - 1) & -pagesz;
   __default_stacksize = limit.rlim_cur;
+#else
+  /* Don't dynamically compute stack size.  */
+  __default_stacksize = ARCH_STACK_DEFAULT_SIZE;
+#endif /* PTHREAD_USE_ARCH_STACK_DEFAULT_SIZE */
 
 #ifdef SHARED
   /* Transfer the old value from the dynamic linker's internal location.  */
index b512742..f3df5b0 100644 (file)
@@ -81,6 +81,7 @@ typedef struct
 
 /* The old way: using LDT.  */
 
+#ifndef NO_SET_THREAD_AREA
 /* Structure passed to `modify_ldt', 'set_thread_area', and 'clone' calls.  */
 struct user_desc
 {
@@ -102,6 +103,7 @@ union user_desc_init
   struct user_desc desc;
   unsigned int vals[4];
 };
+#endif /* NO_SET_THREAD_AREA */
 
 
 /* Get the thread descriptor definition.  */
@@ -191,6 +193,7 @@ union user_desc_init
 # endif
 #endif
 
+#ifndef NO_SET_THREAD_AREA
 /* Code to initially initialize the thread pointer.  This might need
    special attention since 'errno' is not yet available and if the
    operation can cause a failure 'errno' must not be touched.  */
@@ -245,6 +248,7 @@ union user_desc_init
                                                                              \
      _result == 0 ? NULL                                                     \
      : "set_thread_area failed when setting up thread-local storage\n"; })
+#endif /* NO_SET_THREAD_AREA */
 
 
 /* Return the address of the dtv for the current thread.  */