From bc6389ad568e161987060470c0f512b8a5853824 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Fri, 7 Mar 2003 09:55:05 +0000 Subject: Update. 2003-03-07 Ulrich Drepper * 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. --- nptl/ChangeLog | 10 ++++++++++ nptl/allocatestack.c | 11 +++++------ nptl/pthreadP.h | 2 +- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/nptl/ChangeLog b/nptl/ChangeLog index 7f4ba2d..3ad0d2e 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,3 +1,13 @@ +2003-03-07 Ulrich Drepper + + * 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 * sysdeps/unix/sysv/linux/x86_64/Makefile: New file. diff --git a/nptl/allocatestack.c b/nptl/allocatestack.c index b0d7ea6..4aec875 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 e88b959..c9f31e8 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; -- cgit v1.1