aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorJohn Baldwin <jhb@FreeBSD.org>2023-03-06 16:55:22 -0800
committerJohn Baldwin <jhb@FreeBSD.org>2023-03-06 16:55:22 -0800
commit3c75f00adcea9d57c0d92669249dd884e49c4c3b (patch)
tree6d199f31f5256f3d2ff85b741281d43bb51da9e4 /gdb
parent3625712636b1411d2b980217e7dd1ca8a4c8c502 (diff)
downloadgdb-3c75f00adcea9d57c0d92669249dd884e49c4c3b.zip
gdb-3c75f00adcea9d57c0d92669249dd884e49c4c3b.tar.gz
gdb-3c75f00adcea9d57c0d92669249dd884e49c4c3b.tar.bz2
gdb.threads/multi-create: Double the existing stack size.
Setting the stack size to 2*PTHREAD_STACK_MIN actually lowered the stack on FreeBSD rather than raising it causing non-main threads in the test program to overflow their stack and crash. Double the existing stack size rather than assuming that the initial stack size is PTHREAD_STACK_MIN.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/testsuite/gdb.threads/multi-create.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/gdb/testsuite/gdb.threads/multi-create.c b/gdb/testsuite/gdb.threads/multi-create.c
index f4a47c3..9944ba5 100644
--- a/gdb/testsuite/gdb.threads/multi-create.c
+++ b/gdb/testsuite/gdb.threads/multi-create.c
@@ -39,11 +39,13 @@ create_function (void *arg)
pthread_attr_t attr;
pthread_t threads[NUM_THREAD];
int args[NUM_THREAD];
+ size_t stacksize;
int i = * (int *) arg;
int j;
pthread_attr_init (&attr); /* set breakpoint 1 here. */
- pthread_attr_setstacksize (&attr, 2*PTHREAD_STACK_MIN);
+ pthread_attr_getstacksize (&attr, &stacksize);
+ pthread_attr_setstacksize (&attr, 2 * stacksize);
/* Create a ton of quick-executing threads, then wait for them to
complete. */
@@ -67,10 +69,12 @@ main (int argc, char **argv)
pthread_attr_t attr;
pthread_t threads[NUM_CREATE];
int args[NUM_CREATE];
+ size_t stacksize;
int n, i;
pthread_attr_init (&attr);
- pthread_attr_setstacksize (&attr, 2*PTHREAD_STACK_MIN);
+ pthread_attr_getstacksize (&attr, &stacksize);
+ pthread_attr_setstacksize (&attr, 2 * stacksize);
for (n = 0; n < 100; ++n)
{