diff options
-rw-r--r-- | nptl/ChangeLog | 6 | ||||
-rw-r--r-- | nptl/allocatestack.c | 5 |
2 files changed, 9 insertions, 2 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog index d30edd2efc..2b5ae5f56e 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 255129a1df..e6bcc2170f 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; |