diff options
author | Richard Henderson <rth@redhat.com> | 2006-06-14 08:20:01 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2006-06-14 08:20:01 -0700 |
commit | c3b11a40d026d3b25038f3300180e1b58a9b3b99 (patch) | |
tree | 8a20396d0e9f20b4f1bedc45a3b8705cd1c7a576 | |
parent | 184f4c5647deb9430279f508fe507084cf06193a (diff) | |
download | gcc-c3b11a40d026d3b25038f3300180e1b58a9b3b99.zip gcc-c3b11a40d026d3b25038f3300180e1b58a9b3b99.tar.gz gcc-c3b11a40d026d3b25038f3300180e1b58a9b3b99.tar.bz2 |
re PR libgomp/28008 (build failure due to PTHREAD_STACK_MIN not being declared)
PR libgomp/28008
* env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
From-SVN: r114643
-rw-r--r-- | libgomp/ChangeLog | 6 | ||||
-rw-r--r-- | libgomp/env.c | 26 |
2 files changed, 22 insertions, 10 deletions
diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog index 4069e2d..fc12d41 100644 --- a/libgomp/ChangeLog +++ b/libgomp/ChangeLog @@ -1,3 +1,9 @@ +2006-06-14 Richard Henderson <rth@redhat.com> + + PR libgomp/28008 + * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when + undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment. + 2006-06-09 Richard Henderson <rth@redhat.com> * env.c (gomp_nthreads_var): Change to unsigned long. diff --git a/libgomp/env.c b/libgomp/env.c index d42e68e..c86ebc6 100644 --- a/libgomp/env.c +++ b/libgomp/env.c @@ -166,21 +166,27 @@ initialize_env (void) pthread_attr_init (&gomp_thread_attr); pthread_attr_setdetachstate (&gomp_thread_attr, PTHREAD_CREATE_DETACHED); - if (parse_unsigned_long ("OMP_STACKSIZE", &stacksize)) + if (parse_unsigned_long ("GOMP_STACKSIZE", &stacksize)) { + int err; + stacksize *= 1024; - if (stacksize < PTHREAD_STACK_MIN) - gomp_error ("Stack size less than minimum of %luk", - PTHREAD_STACK_MIN / 1024ul - + (PTHREAD_STACK_MIN % 1024 != 0)); - else + err = pthread_attr_setstacksize (&gomp_thread_attr, stacksize); + +#ifdef PTHREAD_STACK_MIN + if (err == EINVAL) { - int err = pthread_attr_setstacksize (&gomp_thread_attr, stacksize); - if (err == EINVAL) + if (stacksize < PTHREAD_STACK_MIN) + gomp_error ("Stack size less than minimum of %luk", + PTHREAD_STACK_MIN / 1024ul + + (PTHREAD_STACK_MIN % 1024 != 0)); + else gomp_error ("Stack size larger than system limit"); - else if (err != 0) - gomp_error ("Stack size change failed: %s", strerror (err)); } + else +#endif + if (err != 0) + gomp_error ("Stack size change failed: %s", strerror (err)); } } |