[Bug boehm-gc/34544] pthread_default_stacksize_np failed.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34544 --- Comment #25 from John David Anglin danglin at gcc dot gnu.org 2011-02-27 00:24:26 UTC --- Author: danglin Date: Sun Feb 27 00:24:18 2011 New Revision: 170527 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=170527 Log: Backport from mainline: 2010-08-22 John David Anglin dave.ang...@nrc-cnrc.gc.ca PR boehm-gc/34544 * gthr-posix.h (__gthread_active_init): Delete. (__gthread_active_p): Do activity check here. Don't include errno.h on hppa-hpux. Update comment. * gthr-posix95.h (__gthread_active_init): Delete. (__gthread_active_p): Do activity check here. Don't include errno.h on hppa-hpux. Update comment. Modified: branches/gcc-4_3-branch/gcc/ChangeLog branches/gcc-4_3-branch/gcc/gthr-posix.h branches/gcc-4_3-branch/gcc/gthr-posix95.h
[Bug boehm-gc/34544] pthread_default_stacksize_np failed.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34544 --- Comment #24 from John David Anglin danglin at gcc dot gnu.org 2011-02-11 03:00:57 UTC --- Author: danglin Date: Fri Feb 11 03:00:53 2011 New Revision: 170042 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=170042 Log: Backport from mainline: 2011-02-07 John David Anglin dave.ang...@nrc-cnrc.gc.ca * config/pa/pa64-hpux.h (LIB_SPEC): In static links, link against shared libc if not linking against libpthread. * config/pa/pa-hpux11.h (LIB_SPEC): Likewise. 2010-08-22 John David Anglin dave.ang...@nrc-cnrc.gc.ca PR boehm-gc/34544 * gthr-posix.h (__gthread_active_init): Delete. (__gthread_active_p): Do activity check here. Don't include errno.h on hppa-hpux. Update comment. * gthr-posix95.h (__gthread_active_init): Delete. (__gthread_active_p): Do activity check here. Don't include errno.h on hppa-hpux. Update comment. Modified: branches/gcc-4_4-branch/gcc/ChangeLog branches/gcc-4_4-branch/gcc/config/pa/pa-hpux11.h branches/gcc-4_4-branch/gcc/config/pa/pa64-hpux.h branches/gcc-4_4-branch/gcc/gthr-posix.h branches/gcc-4_4-branch/gcc/gthr-posix95.h
[Bug boehm-gc/34544] pthread_default_stacksize_np failed.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34544 --- Comment #23 from John David Anglin danglin at gcc dot gnu.org 2011-01-29 20:36:41 UTC --- Author: danglin Date: Sat Jan 29 20:36:39 2011 New Revision: 169394 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=169394 Log: Backport from mainline: 2010-08-22 John David Anglin dave.ang...@nrc-cnrc.gc.ca PR boehm-gc/34544 * gthr-posix.h (__gthread_active_init): Delete. (__gthread_active_p): Do activity check here. Don't include errno.h on hppa-hpux. Update comment. * gthr-posix95.h (__gthread_active_init): Delete. (__gthread_active_p): Do activity check here. Don't include errno.h on hppa-hpux. Update comment. * config.gcc (hppa[12]*-*-hpux11*): Define extra_parts. * config/pa/pa64-hpux.h (LIB_SPEC): When -static is specified, only add -lpthread when -mt or -pthread is specified. * config/pa/pa-hpux11.h (LIB_SPEC): likewise. (LINK_GCC_C_SEQUENCE_SPEC): Define. * config/pa/t-pa-hpux11 (LIBGCCSTUB_OBJS): Define. (stublib.c, pthread_default_stacksize_np-stub.o, pthread_mutex_lock-stub.o, pthread_mutex_unlock-stub.o, $(T)libgcc_stub.a): Add methods. * config/pa/t-pa64 (LIBGCCSTUB_OBJS): Add pthread stubs. (stublib.c, pthread_default_stacksize_np-stub.o, pthread_mutex_lock-stub.o, pthread_mutex_unlock-stub.o): Add methods. * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock, pthread_mutex_unlock): New stubs. Modified: branches/gcc-4_5-branch/gcc/ChangeLog branches/gcc-4_5-branch/gcc/config.gcc branches/gcc-4_5-branch/gcc/config/pa/pa-hpux11.h branches/gcc-4_5-branch/gcc/config/pa/pa64-hpux.h branches/gcc-4_5-branch/gcc/config/pa/stublib.c branches/gcc-4_5-branch/gcc/config/pa/t-pa-hpux11 branches/gcc-4_5-branch/gcc/config/pa/t-pa64 branches/gcc-4_5-branch/gcc/gthr-posix.h branches/gcc-4_5-branch/gcc/gthr-posix95.h
[Bug boehm-gc/34544] pthread_default_stacksize_np failed.
--- Comment #22 from danglin at gcc dot gnu dot org 2010-08-22 16:23 --- Subject: Bug 34544 Author: danglin Date: Sun Aug 22 16:23:38 2010 New Revision: 163461 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=163461 Log: PR boehm-gc/34544 * gthr-posix.h (__gthread_active_init): Delete. (__gthread_active_p): Do activity check here. Don't include errno.h on hppa-hpux. Update comment. * gthr-posix95.h (__gthread_active_init): Delete. (__gthread_active_p): Do activity check here. Don't include errno.h on hppa-hpux. Update comment. * config.gcc (hppa[12]*-*-hpux11*): Define extra_parts. * config/pa/pa64-hpux.h (LIB_SPEC): When -static is specified, only add -lpthread when -mt or -pthread is specified. * config/pa/pa-hpux11.h (LIB_SPEC): likewise. (LINK_GCC_C_SEQUENCE_SPEC): Define. * config/pa/t-pa-hpux11 (LIBGCCSTUB_OBJS): Define. (stublib.c, pthread_default_stacksize_np-stub.o, pthread_mutex_lock-stub.o, pthread_mutex_unlock-stub.o, $(T)libgcc_stub.a): Add methods. * config/pa/t-pa64 (LIBGCCSTUB_OBJS): Add pthread stubs. (stublib.c, pthread_default_stacksize_np-stub.o, pthread_mutex_lock-stub.o, pthread_mutex_unlock-stub.o): Add methods. * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock, pthread_mutex_unlock): New stubs. Modified: trunk/gcc/ChangeLog trunk/gcc/config.gcc trunk/gcc/config/pa/pa-hpux11.h trunk/gcc/config/pa/pa64-hpux.h trunk/gcc/config/pa/stublib.c trunk/gcc/config/pa/t-pa-hpux11 trunk/gcc/config/pa/t-pa64 trunk/gcc/gthr-posix.h trunk/gcc/gthr-posix95.h -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34544
[Bug boehm-gc/34544] pthread_default_stacksize_np failed.
--- Comment #21 from hainque at adacore dot com 2010-08-16 07:42 --- Subject: Re: pthread_default_stacksize_np failed. dave at hiauly1 dot hia dot nrc dot ca wrote: Because of these issues, I have decided to revert the change on the branches (probably tomorrow). I will also try to add the stub on the trunk. Understood, thanks. Sounds like a sensible track to me. We're considering upgrading our system since the patches are pretty old by now, part of a bundle advertised as critical, and our direct set of potentially affected customers is not large. Plus doing it ourselves will get us experience in possible fallouts etc. Cheers, Olivier -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34544
[Bug boehm-gc/34544] pthread_default_stacksize_np failed.
--- Comment #18 from danglin at gcc dot gnu dot org 2010-08-14 14:37 --- Subject: Bug 34544 Author: danglin Date: Sat Aug 14 14:36:47 2010 New Revision: 163242 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=163242 Log: Revert: 2010-08-10 John David Anglin dave.ang...@nrc-cnrc.gc.ca PR boehm-gc/34544 * gthr-posix.h (__gthread_start): Delete. (__gthread_active_init): Use pthread_default_stacksize_np instead of pthread_create to determine if hpux pthreads are active. * gthr-posix95.h (__gthread_start): Delete. (__gthread_active_init): Likewise use pthread_default_stacksize_np. Modified: branches/gcc-4_3-branch/gcc/ChangeLog branches/gcc-4_3-branch/gcc/gthr-posix.h branches/gcc-4_3-branch/gcc/gthr-posix95.h -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34544
[Bug boehm-gc/34544] pthread_default_stacksize_np failed.
--- Comment #19 from danglin at gcc dot gnu dot org 2010-08-14 14:43 --- Subject: Bug 34544 Author: danglin Date: Sat Aug 14 14:42:43 2010 New Revision: 163243 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=163243 Log: Revert: 2010-08-08 John David Anglin dave.ang...@nrc-cnrc.gc.ca PR boehm-gc/34544 * gthr-posix.h (__gthread_start): Delete. (__gthread_active_init): Use pthread_default_stacksize_np instead of pthread_create to determine if hpux pthreads are active. * gthr-posix95.h (__gthread_start): Delete. (__gthread_active_init): Likewise use pthread_default_stacksize_np. Modified: branches/gcc-4_4-branch/gcc/ChangeLog branches/gcc-4_4-branch/gcc/gthr-posix.h branches/gcc-4_4-branch/gcc/gthr-posix95.h -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34544
[Bug boehm-gc/34544] pthread_default_stacksize_np failed.
--- Comment #20 from danglin at gcc dot gnu dot org 2010-08-14 14:45 --- Subject: Bug 34544 Author: danglin Date: Sat Aug 14 14:45:20 2010 New Revision: 163244 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=163244 Log: Revert: 2010-08-08 John David Anglin dave.ang...@nrc-cnrc.gc.ca PR boehm-gc/34544 * gthr-posix.h (__gthread_start): Delete. (__gthread_active_init): Use pthread_default_stacksize_np instead of pthread_create to determine if hpux pthreads are active. * gthr-posix95.h (__gthread_start): Delete. (__gthread_active_init): Likewise use pthread_default_stacksize_np. Modified: branches/gcc-4_5-branch/gcc/ChangeLog branches/gcc-4_5-branch/gcc/gthr-posix.h branches/gcc-4_5-branch/gcc/gthr-posix95.h -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34544
[Bug boehm-gc/34544] pthread_default_stacksize_np failed.
--- Comment #16 from hainque at adacore dot com 2010-08-13 10:14 --- Subject: Re: pthread_default_stacksize_np failed. dave at hiauly1 dot hia dot nrc dot ca wrote: I think the answer is to provide a stub for pthread_default_stacksize_np which is linked in last in final executables. I believe the function is always present in the pthread libraries, both shared and archive. We already do similar things for a number of functions on hppa64-hpux11. Hmm, certainly worth an attempt. We were caught by subtle bugs with similar attempts on other platforms in the past, like stub added to lib X, and corner case situation Bla leads to a link order that gets us the stub instead of the real implementation in multi threaded apps. That's probably settled by now :) We're discussing the options internally. Thanks much for your feedback. Olivier -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34544
[Bug boehm-gc/34544] pthread_default_stacksize_np failed.
--- Comment #17 from dave at hiauly1 dot hia dot nrc dot ca 2010-08-13 13:18 --- Subject: Re: pthread_default_stacksize_np failed. dave at hiauly1 dot hia dot nrc dot ca wrote: I think the answer is to provide a stub for pthread_default_stacksize_np which is linked in last in final executables. I believe the function is always present in the pthread libraries, both shared and archive. We already do similar things for a number of functions on hppa64-hpux11. Hmm, certainly worth an attempt. We were caught by subtle bugs with similar attempts on other platforms in the past, like stub added to lib X, and corner case situation Bla leads to a link order that gets us the stub instead of the real implementation in multi threaded apps. Same here. libtool isn't perfect and it links libc into shared libraries against the recommendation of HP. So, in applications with many libraries, it is not clear whether the dynamic loader will bind the real pthread functions or the stubs. The search rules are different for 32 and 64-bit hpux. The stub for pthread_default_stacksize_np would be in a archive library. The link option would essentially be the last item in the link command generated by the gcc driver. The stub will only be linked in if the symbol isn't resolved by one of the preceeding libraries. So, the above issue can't happen. That's probably settled by now :) Well no ... We're discussing the options internally. Thanks much for your feedback. Because of these issues, I have decided to revert the change on the branches (probably tomorrow). I will also try to add the stub on the trunk. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34544
[Bug boehm-gc/34544] pthread_default_stacksize_np failed.
--- Comment #8 from hainque at gcc dot gnu dot org 2010-08-12 09:42 --- (In reply to comment #7) Hi John, PR boehm-gc/34544 (__gthread_active_init): Use pthread_default_stacksize_np instead of pthread_create to determine if hpux pthreads are active. branches/gcc-4_3-branch/gcc/gthr-posix.h After this change, our local 4.3 builds on PA HPUX 11.0 with Ada fail producing intermediate binaries that aren't linked with -lpthread (gnatbind to start with), with complaints like /usr/ccs/bin/ld: Unsatisfied symbols: pthread_default_stacksize_np (first referenced in .../libgcc_eh.a(unwind-dw2-fde.o)) (code) Presumably, this used to work because libc provides a dummy pthread_create. Thoughts ? I can provide more details on our configuration etc if need be. MTIA, Olivier -- hainque at gcc dot gnu dot org changed: What|Removed |Added CC||hainque at adacore dot com, ||hainque at gcc dot gnu dot ||org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34544
[Bug boehm-gc/34544] pthread_default_stacksize_np failed.
--- Comment #9 from dave at hiauly1 dot hia dot nrc dot ca 2010-08-12 13:38 --- Subject: Re: pthread_default_stacksize_np failed. Hi Olivier, Hi John, PR boehm-gc/34544 (__gthread_active_init): Use pthread_default_stacksize_np instead of pthread_create to determine if hpux pthreads are active. branches/gcc-4_3-branch/gcc/gthr-posix.h After this change, our local 4.3 builds on PA HPUX 11.0 with Ada fail producing intermediate binaries that aren't linked with -lpthread (gnatbind to start with), with complaints like /usr/ccs/bin/ld: Unsatisfied symbols: pthread_default_stacksize_np (first referenced in .../libgcc_eh.a(unwind-dw2-fde.o)) (code) Presumably, this used to work because libc provides a dummy pthread_create. Thoughts ? The function is present in libc.sl on my PA HPUX 11.00 system. Possibly, this can be fixed by updating your libc version. However, I just noticed that there is no libc stub for pthread_default_stacksize_np in libc.a. Are you doing a static link? Dave -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34544
[Bug boehm-gc/34544] pthread_default_stacksize_np failed.
--- Comment #10 from dave at hiauly1 dot hia dot nrc dot ca 2010-08-12 14:04 --- Subject: Re: pthread_default_stacksize_np failed. The function is present in libc.sl on my PA HPUX 11.00 system. Possibly, this can be fixed by updating your libc version. However, I just noticed that there is no libc stub for pthread_default_stacksize_np in libc.a. Are you doing a static link? It appears pthread_default_stacksize_np was added to libc in PHCO_30531 on 11.23. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34544
[Bug boehm-gc/34544] pthread_default_stacksize_np failed.
--- Comment #11 from hainque at adacore dot com 2010-08-12 14:14 --- Subject: Re: pthread_default_stacksize_np failed. dave at hiauly1 dot hia dot nrc dot ca wrote: The function is present in libc.sl on my PA HPUX 11.00 system. Hmm, not here. There are many more pthread_ entries in libc.sl than in libc.a, but not this one. Possibly, this can be fixed by updating your libc version. However, I just noticed that there is no libc stub for pthread_default_stacksize_np in libc.a. Right, it's not here either for us (B.11.00 U 9000/785 2008571012). Are you doing a static link? Not entirely (according to the logs, we link with libc.sl and libgcc*.a). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34544
[Bug boehm-gc/34544] pthread_default_stacksize_np failed.
--- Comment #12 from hainque at adacore dot com 2010-08-12 14:18 --- Subject: Re: pthread_default_stacksize_np failed. [Thanks for your prompt feebdack Dave :-)] dave at hiauly1 dot hia dot nrc dot ca wrote: It appears pthread_default_stacksize_np was added to libc in PHCO_30531 on 11.23. PHCO_29955 seems relevant as well ( SR:8606338169 CR:JAGae99143 ) Unable to resolve pthread_default_stacksize_np(3T) symbol due to the lack of stub in libc when not linked to pthread library. We probably could update our system and document but I don't know what to think of the more general user base (whether many could possibly be affected). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34544
[Bug boehm-gc/34544] pthread_default_stacksize_np failed.
--- Comment #13 from hainque at adacore dot com 2010-08-12 14:24 --- Subject: Re: pthread_default_stacksize_np failed. hainque at adacore dot com wrote: PHCO_29955 seems relevant as well This was for 11.11. For 11.00, this is part of PHCO_29956. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34544
[Bug boehm-gc/34544] pthread_default_stacksize_np failed.
--- Comment #14 from dave at hiauly1 dot hia dot nrc dot ca 2010-08-12 15:03 --- Subject: Re: pthread_default_stacksize_np failed. We probably could update our system and document but I don't know what to think of the more general user base (whether many could possibly be affected). That's a good question. At a minimum, the documentation needs updating. At the moment it looking like there's no good way to determine whether threads are active or not. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34544
[Bug boehm-gc/34544] pthread_default_stacksize_np failed.
--- Comment #15 from dave at hiauly1 dot hia dot nrc dot ca 2010-08-12 23:26 --- Subject: Re: pthread_default_stacksize_np failed. On Thu, 12 Aug 2010, John David Anglin wrote: We probably could update our system and document but I don't know what to think of the more general user base (whether many could possibly be affected). That's a good question. At a minimum, the documentation needs updating. At the moment it looking like there's no good way to determine whether threads are active or not. I think the answer is to provide a stub for pthread_default_stacksize_np which is linked in last in final executables. I believe the function is always present in the pthread libraries, both shared and archive. We already do similar things for a number of functions on hppa64-hpux11. Dave -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34544
[Bug boehm-gc/34544] pthread_default_stacksize_np failed.
--- Comment #7 from danglin at gcc dot gnu dot org 2010-08-10 15:24 --- Subject: Bug 34544 Author: danglin Date: Tue Aug 10 15:23:07 2010 New Revision: 163071 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=163071 Log: PR boehm-gc/34544 * gthr-posix.h (__gthread_start): Delete. (__gthread_active_init): Use pthread_default_stacksize_np instead of pthread_create to determine if hpux pthreads are active. * gthr-posix95.h (__gthread_start): Delete. (__gthread_active_init): Likewise use pthread_default_stacksize_np. Modified: branches/gcc-4_3-branch/gcc/ChangeLog branches/gcc-4_3-branch/gcc/gthr-posix.h branches/gcc-4_3-branch/gcc/gthr-posix95.h -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34544
[Bug boehm-gc/34544] pthread_default_stacksize_np failed.
--- Comment #3 from danglin at gcc dot gnu dot org 2010-08-08 15:04 --- Subject: Bug 34544 Author: danglin Date: Sun Aug 8 15:04:38 2010 New Revision: 163003 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=163003 Log: PR boehm-gc/34544 * gthr-posix.h (__gthread_start): Delete. (__gthread_active_init): Use pthread_default_stacksize_np instead of pthread_create to determine if hpux pthreads are active. * gthr-posix95.h (__gthread_start): Delete. (__gthread_active_init): Likewise use pthread_default_stacksize_np. Modified: trunk/gcc/ChangeLog trunk/gcc/gthr-posix.h trunk/gcc/gthr-posix95.h -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34544
[Bug boehm-gc/34544] pthread_default_stacksize_np failed.
--- Comment #4 from danglin at gcc dot gnu dot org 2010-08-08 15:08 --- Subject: Bug 34544 Author: danglin Date: Sun Aug 8 15:07:53 2010 New Revision: 163004 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=163004 Log: PR boehm-gc/34544 * gthr-posix.h (__gthread_start): Delete. (__gthread_active_init): Use pthread_default_stacksize_np instead of pthread_create to determine if hpux pthreads are active. * gthr-posix95.h (__gthread_start): Delete. (__gthread_active_init): Likewise use pthread_default_stacksize_np. Modified: branches/gcc-4_5-branch/gcc/ChangeLog branches/gcc-4_5-branch/gcc/gthr-posix.h branches/gcc-4_5-branch/gcc/gthr-posix95.h -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34544
[Bug boehm-gc/34544] pthread_default_stacksize_np failed.
--- Comment #5 from danglin at gcc dot gnu dot org 2010-08-08 15:11 --- Subject: Bug 34544 Author: danglin Date: Sun Aug 8 15:11:20 2010 New Revision: 163005 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=163005 Log: PR boehm-gc/34544 * gthr-posix.h (__gthread_start): Delete. (__gthread_active_init): Use pthread_default_stacksize_np instead of pthread_create to determine if hpux pthreads are active. * gthr-posix95.h (__gthread_start): Delete. (__gthread_active_init): Likewise use pthread_default_stacksize_np. Modified: branches/gcc-4_4-branch/gcc/ChangeLog branches/gcc-4_4-branch/gcc/gthr-posix.h branches/gcc-4_4-branch/gcc/gthr-posix95.h -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34544
[Bug boehm-gc/34544] pthread_default_stacksize_np failed.
--- Comment #6 from danglin at gcc dot gnu dot org 2010-08-08 15:17 --- Fixed on trunk, 4.5 and 4.4. -- danglin at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34544
[Bug boehm-gc/34544] pthread_default_stacksize_np failed.
--- Comment #2 from danglin at gcc dot gnu dot org 2010-07-27 21:56 --- pthread_default_stacksize_np fails with error EPERM. [New process 12140, lwp 4032369] [process 12140, lwp 4032369 exited] Breakpoint 1, main () at ../../../gcc/boehm-gc/tests/test.c:1797 I think this is caused by the current implementation of __gthread_active_p on hpux. The above behavior suggests an alternate implementation. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34544
[Bug boehm-gc/34544] pthread_default_stacksize_np failed.
--- Comment #1 from danglin at gcc dot gnu dot org 2009-04-30 19:47 --- Still present in 4.4.0. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34544