From ac8381b8a5138b5c149071bec16c073512283545 Mon Sep 17 00:00:00 2001 From: danglin Date: Sun, 2 Feb 2003 06:08:58 +0000 Subject: [PATCH] * doc/install.texi (hppa*-hp-hpux11*): Update installation notes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@62273 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 4 ++++ gcc/doc/install.texi | 50 ++++++++++++++++++++++++++++++++++---------------- 2 files changed, 38 insertions(+), 16 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e9ec0a6d710..76fa985d98f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,9 @@ 2003-02-02 John David Anglin + * doc/install.texi (hppa*-hp-hpux11*): Update installation notes. + +2003-02-02 John David Anglin + * pa-protos.h (attr_length_millicode_call): Remove second argument. (attr_length_indirect_call, attr_length_indirect_call, attr_length_save_restore_dltp): New prototypes. diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi index 1916886e8ab..357fa68c1c2 100644 --- a/gcc/doc/install.texi +++ b/gcc/doc/install.texi @@ -2206,11 +2206,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 @@ -2221,17 +2226,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. - -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. +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. + +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 -- 2.11.4.GIT