HP-UX 11 installation update

John David Anglin dave@hiauly1.hia.nrc.ca
Sun Feb 2 07:08:00 GMT 2003


I installed the following on the main and 3.3 branch.  Tested with
install on hppa2.0w-hp-hpux11.11.

Dave
-- 
J. David Anglin                                  dave.anglin@nrc-cnrc.gc.ca
National Research Council of Canada              (613) 990-0752 (FAX: 952-6605)

2003-02-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>

	* doc/install.texi (hppa*-hp-hpux11*): Update installation notes.

Index: doc/install.texi
===================================================================
RCS file: /cvsroot/gcc/gcc/gcc/doc/install.texi,v
retrieving revision 1.164
diff -u -3 -p -r1.164 install.texi
--- doc/install.texi	31 Jan 2003 23:58:30 -0000	1.164
+++ doc/install.texi	1 Feb 2003 23:11:15 -0000
@@ -2216,11 +2216,16 @@ bootstrap}.
 GCC 3.0 and up support HP-UX 11.  On 64-bit capable systems, there
 are two distinct ports.  The @samp{hppa2.0w-hp-hpux11*} port generates
 code for the 32-bit pa-risc runtime architecture.  It uses the HP
-linker and is currently the default selected by config.guess.  The
-optional @samp{hppa64-hp-hpux11*} port generates 64-bit code for the
-pa-risc 2.0 architecture.  It must be explicitly selected using the
-@samp{--host=hppa64-hp-hpux11*} configure option.  Different prefixes
-must be used if both ports are to be installed on the same system.
+linker.  The @samp{hppa64-hp-hpux11*} port generates 64-bit code for the
+pa-risc 2.0 architecture.  The script config.guess now selects the port
+type based on the type compiler detected during configuration.  You must
+set your @env{PATH} or define @env{CC} so that configure finds an appropriate
+compiler for the initial bootstrap.  Different prefixes must be used if
+both ports are to be installed on the same system.
+
+GCC 2.95.x is not supported under HP-UX 11 and cannot be used to
+compile GCC 3.0 and up.  Refer to @uref{binaries.html,,binaries} for
+information about obtaining precompiled GCC binaries for HP-UX.
 
 You must use GNU binutils 2.11 or above with the 32-bit port.  Thread
 support is not currently implemented, so @option{--enable-threads} does
@@ -2231,17 +2236,30 @@ not work.  See:
 @item @uref{http://gcc.gnu.org/ml/gcc-bugs/2002-01/msg00663.html}
 @end itemize
 
-GCC 2.95.x is not supported under HP-UX 11 and cannot be used to
-compile GCC 3.0 and up.  Refer to @uref{binaries.html,,binaries} for
-information about obtaining precompiled GCC binaries for HP-UX.
+GCC 3.3 and later support weak symbols on the 32-bit port using SOM
+secondary definition symbols.  This feature is not enabled for earlier
+versions of HP-UX since there have been bugs in the linker support for
+secondary symbols.  The HP linker patches @code{PHSS_26559} and
+@code{PHSS_24304} for HP-UX 11.00 and 11.11, respectively, correct the
+problem of linker core dumps creating C++ libraries.  Earlier patches
+may work but they have not been tested.
+
+GCC 3.3 nows uses the ELF DT_INIT_ARRAY and DT_FINI_ARRAY capability
+to run initializers and finalizers on the 64-bit port.  The feature
+requires CVS binutils as of January 2, 2003, or a subsequent release
+to correct a problem arising from HP's non-standard use of the .init
+and .fini sections.  The 32-bit port uses the linker @option{+init}
+and @option{+fini} options.  As with the support for secondary symbols,
+there have been bugs in the order in which these options are executed
+by the HP linker.  So, again a recent linker patch is recommended.
 
-GNU binutils 2.13 or later is recommended with the 64-bit port.
-The HP assembler has many limitations and is not recommended.  For
-example, it does not support weak symbols or alias definitions.
-As a result, explicit template instantiations are required when
-using C++.  Either the HP or GNU linker can be used but it may be
-necessary to use the GNU linker when dwarf2 exception support is
-implemented.
+The HP assembler has many limitations and is not recommended for either
+the 32 or 64-bit ports.  For example, it does not support weak symbols
+or alias definitions.  As a result, explicit template instantiations
+are required when using C++.  You also can't generate debugging information
+when using the HP assembler.  Either the HP or GNU linker can be used
+with the 64-bit port but it may be necessary to use the GNU linker
+when dwarf2 exception support is implemented.
 
 There are several possible approaches to building the distribution.
 Binutils can be built first using the HP tools.  Then, the GCC



More information about the Gcc-patches mailing list