aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2003-03-07 09:55:05 +0000
committerUlrich Drepper <drepper@redhat.com>2003-03-07 09:55:05 +0000
commitbc6389ad568e161987060470c0f512b8a5853824 (patch)
treead341bc60841d26c42dfe7ea4af5e1731ba2fcd2
parent923e02eae45c3e4c9b6bdd2b8e5613718e8cb54b (diff)
downloadglibc-bc6389ad568e161987060470c0f512b8a5853824.tar
glibc-bc6389ad568e161987060470c0f512b8a5853824.tar.gz
glibc-bc6389ad568e161987060470c0f512b8a5853824.tar.bz2
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/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;