diff options
-rw-r--r-- | nptl/ChangeLog | 2 | ||||
-rw-r--r-- | nptl/tst-basic7.c | 18 |
2 files changed, 20 insertions, 0 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog index 4741cfc278..3651d2ea5b 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); |