summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--nptl/ChangeLog10
-rw-r--r--nptl/allocatestack.c11
-rw-r--r--nptl/pthreadP.h2
3 files changed, 16 insertions, 7 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index 7f4ba2dd9e..3ad0d2eb9a 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,3 +1,13 @@
+2003-03-07  Ulrich Drepper  <drepper@redhat.com>
+
+	* init.c (__static_tls_align_m1): Renamed from __static_tls_align.
+	(__pthread_initialize_minimal_internal): Change initialization of
+	__static_tls_align_m1 appropriately.
+	* pthreadP.h (__static_tls_align_m1): Renamed from
+	__static_tls_align.
+	* allocatestack.c (allocate_stack): Use __static_tls_align_m1
+	instead of __static_tls_align-1.
+
 2003-03-04  Ulrich Drepper  <drepper@redhat.com>
 
 	* sysdeps/unix/sysv/linux/x86_64/Makefile: New file.
diff --git a/nptl/allocatestack.c b/nptl/allocatestack.c
index b0d7ea641a..4aec875548 100644
--- a/nptl/allocatestack.c
+++ b/nptl/allocatestack.c
@@ -248,7 +248,7 @@ allocate_stack (const struct pthread_attr *attr, struct pthread **pdp,
 	return EINVAL;
 
       /* Adjust stack size for alignment of the TLS block.  */
-      adj = ((uintptr_t) attr->stackaddr) & (__static_tls_align - 1);
+      adj = ((uintptr_t) attr->stackaddr) & __static_tls_align_m1;
       assert (size > adj);
 
       /* The user provided some memory.  Let's hope it matches the
@@ -308,7 +308,6 @@ allocate_stack (const struct pthread_attr *attr, struct pthread **pdp,
       size_t reqsize;
       void *mem;
 
-#undef COLORING_INCREMENT
 #if COLORING_INCREMENT != 0
       /* Add one more page for stack coloring.  Don't to it for stacks
 	 with 16 times pagesize or larger.  This might just cause
@@ -318,7 +317,7 @@ allocate_stack (const struct pthread_attr *attr, struct pthread **pdp,
 #endif
 
       /* Adjust the stack size for alignment.  */
-      size &= ~(__static_tls_align - 1);
+      size &= ~__static_tls_align_m1;
       assert (size != 0);
 
       /* Make sure the size of the stack is enough for the guard and
@@ -359,9 +358,9 @@ allocate_stack (const struct pthread_attr *attr, struct pthread **pdp,
 
 	  /* Make sure the coloring offsets does not disturb the alignment
 	     of the TCB and static TLS block.  */
-	  if (__builtin_expect ((coloring & (__static_tls_align - 1)) != 0, 0))
-	    coloring = (((coloring + __static_tls_align - 1)
-			 & ~(__static_tls_align - 1))
+	  if (__builtin_expect ((coloring & __static_tls_align_m1) != 0, 0))
+	    coloring = (((coloring + __static_tls_align_m1)
+			 & ~(__static_tls_align_m1))
 			& ~pagesize_m1);
 #else
 	  /* Unless specified we do not make any adjustments.  */
diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h
index e88b9591e4..c9f31e801a 100644
--- a/nptl/pthreadP.h
+++ b/nptl/pthreadP.h
@@ -39,7 +39,7 @@ extern size_t __default_stacksize attribute_hidden;
 
 /* Size and alignment of static TLS block.  */
 extern size_t __static_tls_size attribute_hidden;
-extern size_t __static_tls_align attribute_hidden;
+extern size_t __static_tls_align_m1 attribute_hidden;
 
 /* Thread descriptor handling.  */
 extern list_t __stack_user;