]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
.. cvs/fedora-glibc-20071212T1953
authorUlrich Drepper <drepper@redhat.com>
Wed, 12 Dec 2007 18:41:10 +0000 (18:41 +0000)
committerUlrich Drepper <drepper@redhat.com>
Wed, 12 Dec 2007 18:41:10 +0000 (18:41 +0000)
* tst-basic7.c: Allocate memory for the stack.

nptl/ChangeLog
nptl/tst-basic7.c

index 4741cfc27894e69869fd64009d5686f45b192c2f..3651d2ea5b4e4e2c68aa0aa79de6248e5e5c9173 100644 (file)
@@ -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.
index da461e43df3718e0b0dece52ec003c3a7eec6bb1..ff6b36be42b7eb4dd6e436b5736ed81e09730dbe 100644 (file)
@@ -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);