This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCH] stdlib: Fixing test-*atexit*-race tests on ia64
- From: Adhemerval Zanella <adhemerval dot zanella at linaro dot org>
- To: libc-alpha at sourceware dot org
- Date: Thu, 1 Feb 2018 10:41:05 -0200
- Subject: [PATCH] stdlib: Fixing test-*atexit*-race tests on ia64
- Authentication-results: sourceware.org; auth=none
The tests requires a new thread stack size to a value (0x20000) lower than
architecture minimum (0x3000). Set PTHREAD_STACK_MIN in this case.
Checked on ia64-linux-gnu.
* stdlib/test-atexit-race-common.c (do_test): Check stack size
against PTHREAD_STACK_MIN.
---
ChangeLog | 5 +++++
stdlib/test-atexit-race-common.c | 5 ++++-
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/stdlib/test-atexit-race-common.c b/stdlib/test-atexit-race-common.c
index 4d7f911..02d459c 100644
--- a/stdlib/test-atexit-race-common.c
+++ b/stdlib/test-atexit-race-common.c
@@ -34,9 +34,11 @@
#include <stdio.h>
#include <stdlib.h>
#include <support/xthread.h>
+#include <sys/param.h>
const size_t kNumThreads = 1024;
const size_t kNumHandlers = 1024;
+const size_t kStacksize = 0x20000;
static void *
threadfunc (void *unused)
@@ -60,7 +62,8 @@ do_test (void)
/* With default 8MiB Linux stack size, creating 1024 threads can cause
VM exhausiton on 32-bit machines. Reduce stack size of each thread to
128KiB for a maximum required VM size of 128MiB. */
- xpthread_attr_setstacksize (&attr, 128 * 1024);
+ size_t ss = kStacksize < PTHREAD_STACK_MIN ? PTHREAD_STACK_MIN : kStacksize;
+ xpthread_attr_setstacksize (&attr, ss);
for (i = 0; i < kNumThreads; ++i) {
xpthread_create (&attr, threadfunc, NULL);
--
2.7.4