This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Thread support for HPUX 11 (pa, ia64)
- From: law at redhat dot com
- To: "Zack Weinberg" <zack at codesourcery dot com>
- Cc: gcc-patches at gcc dot gnu dot org, John David Anglin <dave at hiauly1 dot hia dot nrc dot ca>, Mark Mitchell <mark at codesourcery dot com>
- Date: Thu, 21 Aug 2003 22:00:00 -0600
- Subject: Re: Thread support for HPUX 11 (pa, ia64)
- Reply-to: law at redhat dot com
In message <87fzjvwyq2.fsf@codesourcery.com>, "Zack Weinberg" writes:
>--=-=-=
>
>
>These patches make --enable-threads work with HPUX 11.
>
>HP-UX 11, in contrast to 10 and previous versions, has a full
>implementation of POSIX threads. It still supports DCE threads but it
>seems silly to use them except for backward compatibility purposes.
>Accordingly, I've disabled --enable-threads=dce for these targets;
>it's posix or nothing. (This allows much simplification of LIB_SPEC.)
>
>All versions of HPUX, whether for the PA or the IA64, have an
>ingrained bug in the linker and dynamic loader, which makes weak
>external references useless. This makes it necessary to set
>GTHREAD_USE_WEAK to 0 in both the gcc and libstdc++ configuration, or
>you get link errors for all programs using libstdc++. This was
>already being done for pa32 hpux (SOM-based); the patch enables it for
>pa64 and ia64 (allegedly ELF-based).
>
>These have been bootstrapped on hppa2.0w-hp-hpux11.11 and
>ia64-hp-hpux11.23, with --enable-threads=posix. I get no
>regressions relative to --disable-threads.
>
>I am including patches for mainline and 3.3 (they are slightly
>different). This is a feature addition, not a regression fix, but it
>should affect only HPUX systems and only when --enable-threads is
>given, and for those targets it is not a risky change in my opinion.
>John, I'd appreciate your opinion on whether this is a safe change for
>the branch.
My only comment would be that you may want to go ahead and use
weak external references when we're using gnu-ld -- at least if it's
reasonable to do so from an implementation standpoint. We have gnu-ld
on the PA64 platform.
jeff