diff options
author | Ulrich Drepper <drepper@redhat.com> | 2003-03-07 09:55:05 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2003-03-07 09:55:05 +0000 |
commit | bc6389ad568e161987060470c0f512b8a5853824 (patch) | |
tree | ad341bc60841d26c42dfe7ea4af5e1731ba2fcd2 | |
parent | 923e02eae45c3e4c9b6bdd2b8e5613718e8cb54b (diff) | |
download | glibc-bc6389ad568e161987060470c0f512b8a5853824.tar.gz glibc-bc6389ad568e161987060470c0f512b8a5853824.tar.xz glibc-bc6389ad568e161987060470c0f512b8a5853824.zip |
Update.
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.
-rw-r--r-- | nptl/ChangeLog | 10 | ||||
-rw-r--r-- | nptl/allocatestack.c | 11 | ||||
-rw-r--r-- | nptl/pthreadP.h | 2 |
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; |