OSDN Git Service

gcc:
[pf3gnuchains/gcc-fork.git] / gcc / doc / install.texi
index 87959e3..0f26fab 100644 (file)
@@ -359,9 +359,9 @@ Necessary to build libgcj, the GCJ runtime.
 
 Necessary to build link-time optimization (LTO) support.  It can be
 downloaded from @uref{http://www.mr511.de/software/libelf-0.8.12.tar.gz},
-though it is commonly available in several systems.  The version in
-IRIX 6.5 doesn't work since it lacks @file{gelf.h}.  The version in
-Solaris 2 does work.
+though it is commonly available in several systems.  The versions in
+IRIX 5 and 6 don't work since they lack @file{gelf.h}.  The version in
+recent releases of Solaris 11 does work, previous ones don't yet.
 
 The @option{--with-libelf} configure option should be used if libelf is
 not installed in your default library search patch.
@@ -3823,22 +3823,60 @@ made after Nov. 9, 2006) should be free from both of these problems.
 @end html
 @heading @anchor{mips-sgi-irix5}mips-sgi-irix5
 
-Support for IRIX 5 has been removed in GCC 4.6.
+Support for IRIX 5 has been obsoleted in GCC 4.5, but can still be
+enabled by configuring with @option{--enable-obsolete}.  Support will be
+removed in GCC 4.6.
+
+In order to compile GCC on an SGI running IRIX 5, the @samp{compiler_dev.hdr}
+subsystem must be installed from the IDO CD-ROM supplied by SGI@.
+It is also available for download from
+@uref{http://freeware.sgi.com/ido.html}.
+
+If you use the MIPS C compiler to bootstrap, it may be necessary
+to increase its table size for switch statements with the
+@option{-Wf,-XNg1500} option.  If you use the @option{-O2}
+optimization option, you also need to use @option{-Olimit 3000}.
+@c FIXME: verify.
+
+GCC must be configured to use GNU @command{as}.  The latest version, from GNU
+binutils 2.20.1, is known to work.
+
+To enable debugging under IRIX 5, you must use GNU binutils 2.15 or
+later, and use the @option{--with-gnu-ld} @command{configure} option
+when configuring GCC@.
+You need to use GNU @command{ar} and @command{nm},
+also distributed with GNU binutils.
+@c FIXME: which parts of this are still true?
+
+Configuring GCC with @command{/bin/sh} is @emph{extremely} slow and may
+even hang.  This problem can be avoided by running @command{configure}
+like this:
+
+@smallexample
+   % CONFIG_SHELL=/usr/local/bin/bash
+   % export CONFIG_SHELL
+   % $CONFIG_SHELL @var{srcdir}/configure [@var{options}]
+@end smallexample
+
+@noindent
+@command{/bin/ksh} doesn't work properly either.
 
 @html
 <hr />
 @end html
 @heading @anchor{mips-sgi-irix6}mips-sgi-irix6
 
-Support for IRIX 6 releases before 6.5 has been removed in GCC 4.6, as
-well as support for
+Support for IRIX 6 releases before 6.5 has been obsoleted in GCC 4.5,
+but can still be enabled by configuring with @option{--enable-obsolete}.
+Support will be removed in GCC 4.6, which will also disable support for
 the O32 ABI.  It is @emph{strongly} recommended to upgrade to at least
 IRIX 6.5.18.  This release introduced full ISO C99 support, though for
 the N32 and N64 ABIs only.
 
-To build and use GCC on IRIX 6.5, you need the IRIX Development Foundation
+To build and use GCC on IRIX 6, you need the IRIX Development Foundation
 (IDF) and IRIX Development Libraries (IDL).  They are included with the
-IRIX 6.5 media.
+IRIX 6.5 media and can be downloaded from
+@uref{http://freeware.sgi.com/idf_idl.html} for older IRIX 6 releases.
 
 If you are using SGI's MIPSpro @command{cc} as your bootstrap compiler, you must
 ensure that the N32 ABI is in use.  To test this, compile a simple C
@@ -4045,7 +4083,9 @@ supported as cross-compilation target only.
 @c alone is too unspecific and must be avoided.
 @heading @anchor{x-x-solaris2}*-*-solaris2*
 
-Support for Solaris 7 has been removed in GCC 4.6.
+Support for Solaris 7 has been obsoleted in GCC 4.5, but can still be
+enabled by configuring with @option{--enable-obsolete}.  Support will be
+removed in GCC 4.6.
 
 Sun does not ship a C compiler with Solaris 2, though you can download
 the Sun Studio compilers for free from
@@ -4193,6 +4233,73 @@ For example on a Solaris 9 system:
 @html
 <hr />
 @end html
+@heading @anchor{sparc-sun-solaris27}sparc-sun-solaris2.7
+
+@emph{Note} that this configuration has been obsoleted in GCC 4.5, and will be
+removed in GCC 4.6.
+
+Sun patch 107058-01 (1999-01-13) for Solaris 7/SPARC triggers a bug in
+the dynamic linker.  This problem (Sun bug 4210064) affects GCC 2.8
+and later, including all EGCS releases.  Sun formerly recommended
+107058-01 for all Solaris 7 users, but around 1999-09-01 it started to
+recommend it only for people who use Sun's compilers.
+
+Here are some workarounds to this problem:
+@itemize @bullet
+@item
+Do not install Sun patch 107058-01 until after Sun releases a
+complete patch for bug 4210064.  This is the simplest course to take,
+unless you must also use Sun's C compiler.  Unfortunately 107058-01
+is preinstalled on some new Solaris 7-based hosts, so you may have to
+back it out.
+
+@item
+Copy the original, unpatched Solaris 7
+@command{/usr/ccs/bin/as} into
+@command{/usr/local/libexec/gcc/sparc-sun-solaris2.7/3.4/as},
+adjusting the latter name to fit your local conventions and software
+version numbers.
+
+@item
+Install Sun patch 106950-03 (1999-05-25) or later.  Nobody with
+both 107058-01 and 106950-03 installed has reported the bug with GCC
+and Sun's dynamic linker.  This last course of action is riskiest,
+for two reasons.  First, you must install 106950 on all hosts that
+run code generated by GCC; it doesn't suffice to install it only on
+the hosts that run GCC itself.  Second, Sun says that 106950-03 is
+only a partial fix for bug 4210064, but Sun doesn't know whether the
+partial fix is adequate for GCC@.  Revision -08 or later should fix
+the bug.  The current (as of 2004-05-23) revision is -24, and is included in
+the Solaris 7 Recommended Patch Cluster.
+@end itemize
+
+GCC 3.3 triggers a bug in version 5.0 Alpha 03/27/98 of the Sun assembler,
+which causes a bootstrap failure when linking the 64-bit shared version of
+@samp{libgcc}.  A typical error message is:
+
+@smallexample
+ld: fatal: relocation error: R_SPARC_32: file libgcc/sparcv9/_muldi3.o:
+  symbol <unknown>:  offset 0xffffffff7ec133e7 is non-aligned.
+@end smallexample
+
+@noindent
+This bug has been fixed in the final 5.0 version of the assembler.
+
+A similar problem was reported for version Sun WorkShop 6 99/08/18 of the
+Sun assembler, which causes a bootstrap failure with GCC 4.0.0:
+
+@smallexample
+ld: fatal: relocation error: R_SPARC_DISP32:
+  file .libs/libstdc++.lax/libsupc++convenience.a/vterminate.o:
+    symbol <unknown>: offset 0xfccd33ad is non-aligned
+@end smallexample
+
+@noindent
+This bug has been fixed in more recent revisions of the assembler.
+
+@html
+<hr />
+@end html
 @heading @anchor{sparc-sun-solaris210}sparc-sun-solaris2.10
 
 There is a bug in older versions of the Sun assembler which breaks