aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2005-12-13 06:16:04 +0000
committerUlrich Drepper <drepper@redhat.com>2005-12-13 06:16:04 +0000
commitdb13ddbcfa1e8fb7c58a0022893aef8a8921fd4f (patch)
tree3d7de1b979c3440283d2287579d8a55a44673756
parent1b64c27a9ed938cb4a7d26a5d510377f0cacd175 (diff)
downloadglibc-db13ddbcfa1e8fb7c58a0022893aef8a8921fd4f.zip
glibc-db13ddbcfa1e8fb7c58a0022893aef8a8921fd4f.tar.gz
glibc-db13ddbcfa1e8fb7c58a0022893aef8a8921fd4f.tar.bz2
* allocatestack.c (allocate_stack): Don't demand that there is an
additional full page available on the stack beside guard, TLS, the minimum stack.
-rw-r--r--nptl/ChangeLog6
-rw-r--r--nptl/allocatestack.c5
2 files changed, 9 insertions, 2 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index d30edd2..2b5ae5f 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,3 +1,9 @@
+2005-12-12 Ulrich Drepper <drepper@redhat.com>
+
+ * allocatestack.c (allocate_stack): Don't demand that there is an
+ additional full page available on the stack beside guard, TLS, the
+ minimum stack.
+
2005-11-24 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h
diff --git a/nptl/allocatestack.c b/nptl/allocatestack.c
index 255129a..e6bcc21 100644
--- a/nptl/allocatestack.c
+++ b/nptl/allocatestack.c
@@ -407,8 +407,9 @@ allocate_stack (const struct pthread_attr *attr, struct pthread **pdp,
/* Make sure the size of the stack is enough for the guard and
eventually the thread descriptor. */
guardsize = (attr->guardsize + pagesize_m1) & ~pagesize_m1;
- if (__builtin_expect (size < (guardsize + __static_tls_size
- + MINIMAL_REST_STACK + pagesize_m1 + 1),
+ if (__builtin_expect (size < ((guardsize + __static_tls_size
+ + MINIMAL_REST_STACK + pagesize_m1)
+ & ~pagesize_m1),
0))
/* The stack is too small (or the guard too large). */
return EINVAL;