summaryrefslogtreecommitdiff
path: root/nptl
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2007-12-12 20:28:46 +0000
committerJakub Jelinek <jakub@redhat.com>2007-12-12 20:28:46 +0000
commit1716edfc192b29f8cec407e3eebfbe84e28f70e4 (patch)
treefe6618670f8f6469186eca108fc944d3317d83aa /nptl
parent574e283890a6ca92325a06dafa76ff307a8019a2 (diff)
Updated to fedora-glibc-20071212T1953
Diffstat (limited to 'nptl')
-rw-r--r--nptl/ChangeLog2
-rw-r--r--nptl/tst-basic7.c18
2 files changed, 20 insertions, 0 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index 9e0e839f19..0885fe6d9e 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,5 +1,7 @@
2007-12-12 Ulrich Drepper <drepper@redhat.com>
+ * tst-basic7.c: Allocate memory for the stack.
+
[BZ #5465]
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S [!SHARED]
(__pthread_cond_timedwait): Don't use VDSO.
diff --git a/nptl/tst-basic7.c b/nptl/tst-basic7.c
index da461e43df..ff6b36be42 100644
--- a/nptl/tst-basic7.c
+++ b/nptl/tst-basic7.c
@@ -7,6 +7,21 @@
#include <sys/mman.h>
#include <sys/resource.h>
+static void use_stack (size_t needed);
+
+void (*use_stack_ptr) (size_t) = use_stack;
+
+static void
+use_stack (size_t needed)
+{
+ size_t sz = sysconf (_SC_PAGESIZE);
+ char *buf = alloca (sz);
+ memset (buf, '\0', sz);
+
+ if (needed > sz)
+ use_stack_ptr (needed - sz);
+}
+
static void
use_up_memory (void)
{
@@ -38,6 +53,9 @@ do_test (void)
int err;
pthread_t tid;
+ /* Allocate the memory needed for the stack. */
+ use_stack_ptr (PTHREAD_STACK_MIN);
+
use_up_memory ();
err = pthread_create (&tid, NULL, child, NULL);