OSDN Git Service

Fix typo
[pf3gnuchains/gcc-fork.git] / gcc / install.texi
index f6b7446..a353b93 100644 (file)
@@ -1,12 +1,13 @@
-@c Copyright (C) 1988,89,92,93,94,95,96,97,1998 Free Software Foundation, Inc.
+@c Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
 @c This is part of the GCC manual.
 @c For copying conditions, see the file gcc.texi.
 
 @c The text of this file appears in the file INSTALL
 @c in the GCC distribution, as well as in the GCC manual.
 
-Note most of this information is out of date and superceded by the EGCS
-install procedures.  It is provided for historical reference only.
+Note most of this information is out of date and superseded by the
+online GCC install procedures @uref{http://gcc.gnu.org/install/}.  It is
+provided for historical reference only.
 
 @ifclear INSTALLONLY
 @node Installation
@@ -19,7 +20,6 @@ install procedures.  It is provided for historical reference only.
 * Configurations::    Configurations Supported by GNU CC.
 * Other Dir::     Compiling in a separate directory (not where the source is).
 * Cross-Compiler::   Building and installing a cross-compiler.
-* Sun Install::   See below for installation on the Sun.
 * VMS Install::   See below for installation on VMS.
 * Collect2::     How @code{collect2} works; how it finds @code{ld}.
 * Header Dirs::   Understanding the standard header file directories.
@@ -53,10 +53,9 @@ On a System V release 4 system, make sure @file{/usr/bin} precedes
 @cindex Bison parser generator
 @cindex parser generator, Bison
 @item
-Make sure the Bison parser generator is installed.  (This is
-unnecessary if the Bison output files @file{c-parse.c} and
-@file{cexp.c} are more recent than @file{c-parse.y} and @file{cexp.y}
-and you do not plan to change the @samp{.y} files.)
+Make sure the Bison parser generator is installed.  (This is unnecessary
+if the Bison output file @file{c-parse.c} is more recent than
+@file{c-parse.y},and you do not plan to change the @samp{.y} file.)
 
 Bison versions older than Sept 8, 1988 will produce incorrect output
 for @file{c-parse.c}.
@@ -112,9 +111,7 @@ can figure out which dashes serve which purpose.)  For example,
 
 You can also replace parts of the configuration by nicknames or aliases.
 For example, @samp{sun3} stands for @samp{m68k-sun}, so
-@samp{sun3-sunos4.1} is another way to specify a Sun 3.  You can also
-use simply @samp{sun3-sunos}, since the version of SunOS is assumed by
-default to be version 4.
+@samp{sun3-sunos4.1} is another way to specify a Sun 3.
 
 You can specify a version number after any of the system types, and some
 of the CPU types.  In most cases, the version is irrelevant, and will be
@@ -233,70 +230,21 @@ change the generated code, but adds error checking within the compiler.
 This will slow down the compiler and may only work properly if you
 are building the compiler with GNU C.
 
-The @file{configure} script searches subdirectories of the source
-directory for other compilers that are to be integrated into GNU CC.
-The GNU compiler for C++, called G++ is in a subdirectory named
-@file{cp}.  @file{configure} inserts rules into @file{Makefile} to build
-all of those compilers.
-
-Here we spell out what files will be set up by @code{configure}.  Normally
-you need not be concerned with these files.
-
-@itemize @bullet
-@item
-@ifset INTERNALS
-A file named @file{config.h} is created that contains a @samp{#include}
-of the top-level config file for the machine you will run the compiler
-on (@pxref{Config}).  This file is responsible for defining information
-about the host machine.  It includes @file{tm.h}.
-@end ifset
-@ifclear INTERNALS
-A file named @file{config.h} is created that contains a @samp{#include}
-of the top-level config file for the machine you will run the compiler
-on (@pxref{Config,,The Configuration File, gcc.info, Using and Porting
-GCC}).  This file is responsible for defining information about the host
-machine.  It includes @file{tm.h}.
-@end ifclear
-
-The top-level config file is located in the subdirectory @file{config}.
-Its name is always @file{xm-@var{something}.h}; usually
-@file{xm-@var{machine}.h}, but there are some exceptions.
-
-If your system does not support symbolic links, you might want to
-set up @file{config.h} to contain a @samp{#include} command which
-refers to the appropriate file.
-
-@item
-A file named @file{tconfig.h} is created which includes the top-level config
-file for your target machine.  This is used for compiling certain
-programs to run on that machine.
-
-@item
-A file named @file{tm.h} is created which includes the
-machine-description macro file for your target machine.  It should be in
-the subdirectory @file{config} and its name is often
-@file{@var{machine}.h}.
-@end itemize
-
 @cindex Native Language Support
 @cindex NLS
 @item --enable-nls
 @itemx --disable-nls
 The @samp{--enable-nls} option enables Native Language Support (NLS),
 which lets GCC output diagnostics in languages other than American
-English.  No translations are available yet, so the main users of this
-option now are those translating GCC's diagnostics who want to test
-their work.  Once translations become available, Native Language Support
-will become enabled by default.  The @samp{--disable-nls} option
-disables NLS.
+English. Native Language Support is enabled by default if not doing a 
+canadian cross build. The @samp{--disable-nls} option disables NLS.
 
 @cindex @code{gettext}
 @item --with-included-gettext
-If NLS is enabled, the GCC build procedure normally attempts to use the
-host's @code{gettext} libraries, and falls back on GCC's copy of the GNU
-@code{gettext} library only if the host libraries do not suffice.  The
-@samp{--with-included-gettext} option causes the build procedure to
-prefer its copy of GNU @code{gettext}.
+If NLS is enbled, the @samp{--with-included-gettext} option causes the build
+procedure to prefer its copy of GNU @code{gettext}. This is the default. If
+you want the GCC build procedure to prefer the host's @code{gettext}
+libraries, use @samp{--without-included-gettext}.
 
 @cindex @code{catgets}
 @item --with-catgets
@@ -305,6 +253,34 @@ inferior @code{catgets} interface, the GCC build procedure normally
 ignores @code{catgets} and instead uses GCC's copy of the GNU
 @code{gettext} library.  The @samp{--with-catgets} option causes the
 build procedure to use the host's @code{catgets} in this situation.
+
+@cindex @code{maintainer-mode}
+@item --enable-maintainer-mode
+The build rules that regenerate the GCC master message catalog
+@code{gcc.pot} are normally disabled. This is because it can only be rebuilt
+if the complete source tree is present. If you have changed the sources and
+want to rebuild the catalog, configuring with
+@samp{--enable-maintainer-mode} will enable this. Note that you need a
+special version of the @code{gettext} tools to do so.
+
+@cindex Windows32 Registry support
+@item --enable-win32-registry
+@itemx --enable-win32-registry=@var{KEY}
+@itemx --disable-win32-registry
+The @samp{--enable-win32-registry} option enables Windows-hosted GCC
+to look up installations paths in the registry using the following key:
+
+@smallexample
+@code{HKEY_LOCAL_MACHINE\SOFTWARE\Free Software Foundation\<KEY>}
+@end smallexample
+
+<KEY> defaults to GCC version number, and can be overridden by the
+@code{--enable-win32-registry=KEY} option. Vendors and distributors
+who use custom installers are encouraged to provide a different key,
+perhaps one comprised of vendor name and GCC version number, to
+avoid conflict with existing installations. This feature is enabled
+by default, and can be disabled by @code{--disable-win32-registry}
+option.  This option has no effect on the other hosts.
 @end table
 
 @item
@@ -361,25 +337,25 @@ directory.
 
 @samp{LANGUAGES=c} specifies that only the C compiler should be
 compiled.  The makefile normally builds compilers for all the supported
-languages; currently, C, C++ and Objective C.  However, C is the only
-language that is sure to work when you build with other non-GNU C
-compilers.  In addition, building anything but C at this stage is a
-waste of time.
+languages; currently, C, C++, Objective C, Java, FORTRAN, and CHILL.
+However, C is the only language that is sure to work when you build with
+other non-GNU C compilers.  In addition, building anything but C at this
+stage is a waste of time.
 
 In general, you can specify the languages to build by typing the
 argument @samp{LANGUAGES="@var{list}"}, where @var{list} is one or more
-words from the list @samp{c}, @samp{c++}, and @samp{objective-c}.  If
-you have any additional GNU compilers as subdirectories of the GNU CC
-source directory, you may also specify their names in this list.
+words from the list @samp{c}, @samp{c++}, @samp{objective-c},
+@samp{java}, @samp{f77}, and @samp{CHILL}.  If you have any additional
+GNU compilers as subdirectories of the GNU CC source directory, you may
+also specify their names in this list.
 
 Ignore any warnings you may see about ``statement not reached'' in
 @file{insn-emit.c}; they are normal.  Also, warnings about ``unknown
 escape sequence'' are normal in @file{genopinit.c} and perhaps some
 other files.  Likewise, you should ignore warnings about ``constant is
 so large that it is unsigned'' in @file{insn-emit.c} and
-@file{insn-recog.c}, a warning about a comparison always being zero
-in @file{enquire.o}, and warnings about shift counts exceeding type
-widths in @file{cexp.y}.  Any other compilation errors may represent bugs in
+@file{insn-recog.c}, and a warning about a comparison always being zero
+in @file{enquire.o}.  Any other compilation errors may represent bugs in
 the port to your machine or operating system, and
 @ifclear INSTALLONLY
 should be investigated and reported (@pxref{Bugs}).
@@ -560,68 +536,11 @@ On some systems, this command causes recompilation of some files.  This
 is usually due to bugs in @code{make}.  You should either ignore this
 problem, or use GNU Make.
 
-@cindex @code{alloca} and SunOS
-@strong{Warning: there is a bug in @code{alloca} in the Sun library.  To
-avoid this bug, be sure to install the executables of GNU CC that were
-compiled by GNU CC.  (That is, the executables from stage 2 or 3, not
-stage 1.)  They use @code{alloca} as a built-in function and never the
-one in the library.}
-
 (It is usually better to install GNU CC executables from stage 2 or 3,
 since they usually run faster than the ones compiled with some other
 compiler.)
 
 @item
-@cindex C++ runtime library
-@cindex @code{libstdc++}
-If you're going to use C++, you need to install the C++ runtime library.
-This includes all I/O functionality, special class libraries, etc.
-
-The standard C++ runtime library for GNU CC is called @samp{libstdc++}.
-An obsolescent library @samp{libg++} may also be available, but it's
-necessary only for older software that hasn't been converted yet; if
-you don't know whether you need @samp{libg++} then you probably don't
-need it.
-
-Here's one way to build and install @samp{libstdc++} for GNU CC:
-
-@itemize @bullet
-@item
-Build and install GNU CC, so that invoking @samp{gcc} obtains the GNU CC
-that was just built.
-
-@item
-Obtain a copy of a compatible @samp{libstdc++} distribution.  For
-example, the @samp{libstdc++-2.8.0.tar.gz} distribution should be
-compatible with GCC 2.8.0.  GCC distributors normally distribute
-@samp{libstdc++} as well.
-
-@item
-Set the @samp{CXX} environment variable to @samp{gcc} while running the
-@samp{libstdc++} distribution's @file{configure} command.  Use the same
-@file{configure} options that you used when you invoked GCC's
-@file{configure} command.
-
-@item
-Invoke @samp{make} to build the C++ runtime.
-
-@item
-Invoke @samp{make install} to install the C++ runtime.
-
-@end itemize
-
-To summarize, after building and installing GNU CC, invoke the following
-shell commands in the topmost directory of the C++ library distribution.
-For @var{configure-options}, use the same options that
-you used to configure GNU CC.
-
-@example
-$ CXX=gcc ./configure @var{configure-options}
-$ make
-$ make install
-@end example
-
-@item
 GNU CC includes a runtime library for Objective-C because it is an
 integral part of the language.  You can find the files associated with
 the library in the subdirectory @file{objc}.  The GNU Objective-C
@@ -725,11 +644,12 @@ needs to be added for a given target or host.
 Here are the possible CPU types:
 
 @quotation
-@c gmicro, alliant, spur and tahoe omitted since they don't work.
-1750a, a29k, alpha, arm, c@var{n}, clipper, dsp16xx, elxsi, h8300,
-hppa1.0, hppa1.1, i370, i386, i486, i586, i860, i960, m32r, m68000, m68k,
-m88k, mips, mipsel, mips64, mips64el, ns32k, powerpc, powerpcle,
-pyramid, romp, rs6000, sh, sparc, sparclite, sparc64, vax, we32k.
+@c gmicro, fx80, spur and tahoe omitted since they don't work.
+1750a, a29k, alpha, arm, avr, c@var{n}, clipper, dsp16xx, elxsi, fr30, h8300,
+hppa1.0, hppa1.1, i370, i386, i486, i586, i686, i786, i860, i960, m32r,
+m68000, m68k, m6811, m6812, m88k, mcore, mips, mipsel, mips64, mips64el,
+mn10200, mn10300, ns32k, pdp11, powerpc, powerpcle, romp, rs6000, sh, sparc,
+sparclite, sparc64, v850, vax, we32k.
 @end quotation
 
 Here are the recognized company names.  As you can see, customary
@@ -753,8 +673,8 @@ Here is a list of system types:
 
 @quotation
 386bsd, aix, acis, amigaos, aos, aout, aux, bosx, bsd, clix, coff, ctix, cxux,
-dgux, dynix, ebmon, ecoff, elf, esix, freebsd, hms, genix, gnu, linux-gnu,
-hiux, hpux, iris, irix, isc, luna, lynxos, mach, minix, msdos, mvs,
+dgux, dynix, ebmon, ecoff, elf, esix, freebsd, hms, genix, gnu, linux,
+linux-gnu, hiux, hpux, iris, irix, isc, luna, lynxos, mach, minix, msdos, mvs,
 netbsd, newsos, nindy, ns, osf, osfrose, ptx, riscix, riscos, rtu, sco, sim,
 solaris, sunos, sym, sysv, udi, ultrix, unicos, uniplus, unos, vms, vsta,
 vxworks, winnt, xenix.
@@ -770,6 +690,12 @@ make a difference.  For example, you can write @samp{bsd4.3} or
 number is most needed for @samp{sysv3} and @samp{sysv4}, which are often
 treated differently.
 
+@samp{linux-gnu} is the canonical name for the GNU/Linux target; however
+GNU CC will also accept @samp{linux}.  The version of the kernel in use is
+not relevant on these systems.  A suffix such as @samp{libc1} or @samp{aout}
+distinguishes major versions of the C library; all of the suffixed versions
+are obsolete.
+
 If you specify an impossible combination such as @samp{i860-dg-vms},
 then you may get an error message from @file{configure}, or it may
 ignore part of the information and do the best it can with the rest.
@@ -822,7 +748,7 @@ MIL-STD-1750A processors.
 The MIL-STD-1750A cross configuration produces output for
 @code{as1750}, an assembler/linker available under the GNU Public
 License for the 1750A. @code{as1750} can be obtained at 
-@emph{ftp://ftp.fta-berlin.de/pub/crossgcc/1750gals/}.
+@uref{ftp://ftp.fta-berlin.de/pub/crossgcc/1750gals/}.
 A similarly licensed simulator for
 the 1750A is available from same address.
 
@@ -914,12 +840,24 @@ produce @file{a.out} format object modules.
 You may need to make a variant of the file @file{arm.h} for your particular
 configuration.
 
-@item arm-*-linuxaout
-Any of the ARM family processors running the Linux-based GNU system with
-the @file{a.out} binary format (ELF is not yet supported).  You must use
-version 2.8.1.0.7 or later of the GNU/Linux binutils, which you can download
-from @file{sunsite.unc.edu:/pub/Linux/GCC} and other mirror sites for
-Linux-based GNU systems.
+@item arm-*-elf
+This configuration is intended for embedded systems.
+
+@item arm-*-linux*aout
+Any of the ARM-family processors running the Linux-based GNU system with
+the @file{a.out} binary format.  This is an obsolete configuration.
+
+@item arm-*-linux
+@itemx arm-*-linux-gnu
+@itemx arm-*-linux*oldld
+Any of the ARM-family processors running the Linux-based GNU system with
+the @file{ELF} binary format.  You must use version 2.9.1.0.22 or later
+of the GNU/Linux binutils, which you can download from
+@uref{ftp://ftp.varesearch.com/pub/support/hjl/binutils/}.
+
+These two configurations differ only in the required version of GNU
+binutils.  For binutils 2.9.1.0.x, use @samp{arm-*-linux-gnuoldld}.  For 
+newer versions of binutils, use @samp{arm-*-linux-gnu}.
 
 @item arm-*-riscix
 The ARM2 or ARM3 processor running RISC iX, Acorn's port of BSD Unix.
@@ -928,7 +866,7 @@ specify the version number during configuration.  Note that the
 assembler shipped with RISC iX does not support stabs debugging
 information; a new version of the assembler, with stabs support
 included, is now available from Acorn and via ftp
-@file{ftp.acorn.com:/pub/riscix/as+xterm.tar.Z}.  To enable stabs
+@uref{ftp://ftp.acorn.com/pub/riscix/as+xterm.tar.Z}.  To enable stabs
 debugging, pass @samp{--with-gnu-as} to configure.
 
 You will need to install GNU @file{sed} before you can run configure.
@@ -946,6 +884,11 @@ particular configuration.
 @item a29k-*-bsd
 AMD Am29050 used in a system running a variant of BSD Unix.
 
+@item avr
+ATMEL AVR-family micro controllers.  These are used in embedded
+applications.  There are no standard Unix configurations.
+@xref{AVR Options}, for the list of supported MCU types.
+
 @item decstation-*
 MIPS-based DECstations can support three different personalities:
 Ultrix, DEC OSF/1, and OSF/rose.  (Alpha-based DECstation products have
@@ -976,7 +919,7 @@ compilers, you may need to add @samp{-Wf,-XNg1500 -Olimit 3000}.
 
 @item elxsi-elxsi-bsd
 The Elxsi's C compiler has known limitations that prevent it from
-compiling GNU C.  Please contact @code{mrs@@cygnus.com} for more details.
+compiling GNU C.  Please contact @email{mrs@@cygnus.com} for more details.
 
 @item dsp16xx
 A port to the AT&T DSP1610 family of processors.
@@ -1013,46 +956,22 @@ All code must be recompiled.  The calling convention now passes the
 first three arguments in function calls in registers.  Structures are no
 longer a multiple of 2 bytes.
 
-@item hppa*-*-*
-There are several variants of the HP-PA processor which run a variety
-of operating systems.  GNU CC must be configured to use the correct
-processor type and operating system, or GNU CC will not function correctly.
-The easiest way to handle this problem is to @emph{not} specify a target
-when configuring GNU CC, the @file{configure} script will try to automatically
-determine the right processor type and operating system.
-
-@samp{-g} does not work on HP-UX, since that system uses a peculiar
-debugging format which GNU CC does not know about.  However, @samp{-g}
-will work if you also use GAS and GDB in conjunction with GCC.  We
-highly recommend using GAS for all HP-PA configurations.
-
-You should be using GAS-2.6 (or later) along with GDB-4.16 (or later).  These
-can be retrieved from all the traditional GNU ftp archive sites.
-
-On some versions of HP-UX, you will need to install GNU @file{sed}.
-
-You will need to be install GAS into a directory before @code{/bin},
-@code{/usr/bin}, and @code{/usr/ccs/bin} in your search path.  You
-should install GAS before you build GNU CC.
-
-To enable debugging, you must configure GNU CC with the @samp{--with-gnu-as}
-option before building.
-
 @item i370-*-*
 This port is very preliminary and has many known bugs.  We hope to
 have a higher-quality port for this machine soon.
 
-@item i386-*-linux-gnuoldld
+@item i386-*-linux*oldld
 Use this configuration to generate @file{a.out} binaries on Linux-based
 GNU systems if you do not have gas/binutils version 2.5.2 or later
 installed. This is an obsolete configuration.
 
-@item i386-*-linux-gnuaout
+@item i386-*-linux*aout
 Use this configuration to generate @file{a.out} binaries on Linux-based
 GNU systems. This configuration is being superseded. You must use
 gas/binutils version 2.5.2 or later.
 
-@item i386-*-linux-gnu
+@item i386-*-linux
+@itemx i386-*-linux-gnu
 Use this configuration to generate ELF binaries on Linux-based GNU
 systems.  You must use gas/binutils version 2.5.2 or later.
 
@@ -1064,31 +983,7 @@ link with GNU malloc instead of the malloc that comes with the system.
 Use this configuration for SCO release 3.2 version 4.
 
 @item i386-*-sco3.2v5*
-Use this for the SCO OpenServer Release family including 5.0.0, 5.0.2, 
-5.0.4, 5.0.5, Internet FastStart 1.0, and Internet FastStart 1.1.
-
-GNU CC can generate COFF binaries if you specify @samp{-mcoff} or ELF
-binaries, the default.    A full @samp{make bootstrap} is recommended
-so that an ELF compiler that builds ELF is generated.                   
-
-You must have TLS597 from @uref{ftp://ftp.sco.com/TLS} installed for ELF
-C++ binaries to work correctly on releases before 5.0.4. 
-
-The native SCO assembler that is provided with the OS at no charge
-is normally required.  If, however, you must be able to use the GNU
-assembler (perhaps you have complex asms) you must configure this
-package @samp{--with-gnu-as}.  To do this, install (cp or symlink)
-gcc/as to your copy of the GNU assembler.  You must use a recent version
-of GNU binutils; version 2.9.1 seems to work well.  If you select this
-option, you will be unable to build COFF images.  Trying to do so will
-result in non-obvious failures.  In general, the "--with-gnu-as" option
-isn't as well tested as the native assembler.
-
-@emph{NOTE:} If you are building C++, you must follow the instructions
-about invoking @samp{make bootstrap} because the native OpenServer
-compiler may build a @file{cc1plus} that will not correctly parse many
-valid C++ programs.  You must do a @samp{make bootstrap} if you are
-building with the native compiler.
+Use this for the SCO OpenServer Release 5 family of operating systems.
 
 @item i386-*-isc
 It may be a good idea to link with GNU malloc instead of the malloc that
@@ -1112,76 +1007,6 @@ Go to the Berkeley universe before compiling.
 @itemx i386-sequent-ptx2*
 You must install GNU @file{sed} before running @file{configure}.
 
-@item i386-sun-sunos4
-You may find that you need another version of GNU CC to begin
-bootstrapping with, since the current version when built with the
-system's own compiler seems to get an infinite loop compiling part of
-@file{libgcc2.c}.  GNU CC version 2 compiled with GNU CC (any version)
-seems not to have this problem.
-
-See @ref{Sun Install}, for information on installing GNU CC on Sun
-systems.
-
-@item i[345]86-*-winnt3.5
-This version requires a GAS that has not yet been released.  Until it
-is, you can get a prebuilt binary version via anonymous ftp from
-@file{cs.washington.edu:pub/gnat} or @file{cs.nyu.edu:pub/gnat}. You
-must also use the Microsoft header files from the Windows NT 3.5 SDK.
-Find these on the CDROM in the @file{/mstools/h} directory dated 9/4/94.  You
-must use a fixed version of Microsoft linker made especially for NT 3.5,
-which is also is available on the NT 3.5 SDK CDROM.  If you do not have
-this linker, can you also use the linker from Visual C/C++ 1.0 or 2.0.
-
-Installing GNU CC for NT builds a wrapper linker, called @file{ld.exe},
-which mimics the behaviour of Unix @file{ld} in the specification of
-libraries (@samp{-L} and @samp{-l}).  @file{ld.exe} looks for both Unix
-and Microsoft named libraries.  For example, if you specify
-@samp{-lfoo}, @file{ld.exe} will look first for @file{libfoo.a}
-and then for @file{foo.lib}.
-
-You may install GNU CC for Windows NT in one of two ways, depending on
-whether or not you have a Unix-like shell and various Unix-like
-utilities.
-
-@enumerate
-@item
-If you do not have a Unix-like shell and few Unix-like utilities, you
-will use a DOS style batch script called @file{configure.bat}.  Invoke
-it as @code{configure winnt} from an MSDOS console window or from the
-program manager dialog box.  @file{configure.bat} assumes you have
-already installed and have in your path a Unix-like @file{sed} program
-which is used to create a working @file{Makefile} from @file{Makefile.in}.
-
-@file{Makefile} uses the Microsoft Nmake program maintenance utility and
-the Visual C/C++ V8.00 compiler to build GNU CC.  You need only have the
-utilities @file{sed} and @file{touch} to use this installation method,
-which only automatically builds the compiler itself.  You must then
-examine what @file{fixinc.winnt} does, edit the header files by hand and
-build @file{libgcc.a} manually.
-
-@item
-The second type of installation assumes you are running a Unix-like
-shell, have a complete suite of Unix-like utilities in your path, and
-have a previous version of GNU CC already installed, either through
-building it via the above installation method or acquiring a pre-built
-binary.  In this case, use the @file{configure} script in the normal
-fashion.
-@end enumerate
-
-@item i860-intel-osf1
-This is the Paragon.
-@ifset INSTALLONLY
-If you have version 1.0 of the operating system, you need to take
-special steps to build GNU CC due to peculiarities of the system.  Newer
-system versions have no problem.  See the section `Installation Problems'
-in the GNU CC Manual.
-@end ifset
-@ifclear INSTALLONLY
-If you have version 1.0 of the operating system,
-see @ref{Installation Problems}, for special things you need to do to
-compensate for peculiarities in the system.
-@end ifclear
-
 @item *-lynx-lynxos
 LynxOS 2.2 and earlier comes with GNU CC 1.x already installed as
 @file{/bin/gcc}.  You should compile with this instead of @file{/bin/cc}.
@@ -1196,7 +1021,7 @@ This configuration is intended for embedded systems.
 
 @item m68000-hp-bsd
 HP 9000 series 200 running BSD.  Note that the C compiler that comes
-with this system cannot compile GNU CC; contact @code{law@@cygnus.com}
+with this system cannot compile GNU CC; contact @email{law@@cygnus.com}
 to get binaries of GNU CC for bootstrapping.
 
 @item m68k-altos
@@ -1218,47 +1043,11 @@ You will also a patched version of @file{/bin/ld} there that
 raises some of the arbitrary limits found in the original.
 
 @item m68k-att-sysv
-AT&T 3b1, a.k.a. 7300 PC.  Special procedures are needed to compile GNU
-CC with this machine's standard C compiler, due to bugs in that
-compiler.  You can bootstrap it more easily with
-previous versions of GNU CC if you have them.
-
-Installing GNU CC on the 3b1 is difficult if you do not already have
-GNU CC running, due to bugs in the installed C compiler.  However,
-the following procedure might work.  We are unable to test it.
-
-@enumerate
-@item
-Comment out the @samp{#include "config.h"} line near the start of
-@file{cccp.c} and do @samp{make cpp}.  This makes a preliminary version
-of GNU cpp.
-
-@item
-Save the old @file{/lib/cpp} and copy the preliminary GNU cpp to that
-file name.
-
-@item
-Undo your change in @file{cccp.c}, or reinstall the original version,
-and do @samp{make cpp} again.
-
-@item
-Copy this final version of GNU cpp into @file{/lib/cpp}.
-
-@findex obstack_free
-@item
-Replace every occurrence of @code{obstack_free} in the file
-@file{tree.c} with @code{_obstack_free}.
-
-@item
-Run @code{make} to get the first-stage GNU CC.
-
-@item
-Reinstall the original version of @file{/lib/cpp}.
-
-@item
-Now you can compile GNU CC with itself and install it in the normal
-fashion.
-@end enumerate
+AT&T 3b1, a.k.a. 7300 PC.  This version of GNU CC cannot
+be compiled with the system C compiler, which is too buggy.
+You will need to get a previous version of GCC and use it to
+bootstrap.  Binaries are available from the OSU-CIS archive, at
+@uref{ftp://archive.cis.ohio-state.edu/pub/att7300/}.
 
 @item m68k-bull-sysv
 Bull DPX/2 series 200 and 300 with BOS-2.00.45 up to BOS-2.01. GNU CC works
@@ -1267,7 +1056,7 @@ GNU assembler with native coff generation by providing @samp{--with-gnu-as} to
 the configure script or use GNU assembler with dbx-in-coff encapsulation
 by providing @samp{--with-gnu-as --stabs}. For any problem with native
 assembler or for availability of the DPX/2 port of GAS, contact
-@code{F.Pierresteguy@@frcl.bull.fr}.
+@email{F.Pierresteguy@@frcl.bull.fr}.
 
 @item m68k-crds-unox
 Use @samp{configure unos} for building on Unos.
@@ -1322,8 +1111,13 @@ Sun 3.  We do not provide a configuration file to use the Sun FPA by
 default, because programs that establish signal handlers for floating
 point traps inherently cannot work with the FPA.
 
-See @ref{Sun Install}, for information on installing GNU CC on Sun
-systems.
+@item m6811-elf
+Motorola 68HC11 family micro controllers.  These are used in embedded
+applications.  There are no standard Unix configurations.
+
+@item m6812-elf
+Motorola 68HC12 family micro controllers.  These are used in embedded
+applications.  There are no standard Unix configurations.
 
 @item m88k-*-svr3
 Motorola m88k running the AT&T/Unisoft/Motorola V.3 reference port.
@@ -1363,8 +1157,8 @@ between stages.
 @item mips-mips-bsd
 MIPS machines running the MIPS operating system in BSD mode.  It's
 possible that some old versions of the system lack the functions
-@code{memcpy}, @code{memcmp}, and @code{memset}.  If your system lacks
-these, you must remove or undo the definition of
+@code{memcpy}, @code{memmove}, @code{memcmp}, and @code{memset}.  If your
+system lacks these, you must remove or undo the definition of
 @code{TARGET_MEM_FUNCTIONS} in @file{mips-bsd.h}.
 
 The MIPS C compiler needs to be told to increase its table size
@@ -1550,7 +1344,8 @@ PowerPC system in big endian mode, running System V.4.
 You can specify a default version for the @samp{-mcpu=}@var{cpu_type}
 switch by using the configure option @samp{--with-cpu-}@var{cpu_type}.
 
-@item powerpc-*-linux-gnu
+@item powerpc-*-linux
+@itemx powerpc-*-linux-gnu
 PowerPC system in big endian mode, running the Linux-based GNU system.
 
 You can specify a default version for the @samp{-mcpu=}@var{cpu_type}
@@ -1583,15 +1378,6 @@ PowerPC system in little endian mode, running System V.4.
 You can specify a default version for the @samp{-mcpu=}@var{cpu_type}
 switch by using the configure option @samp{--with-cpu-}@var{cpu_type}.
 
-@item powerpcle-*-solaris2*
-PowerPC system in little endian mode, running Solaris 2.5.1 or higher.
-
-You can specify a default version for the @samp{-mcpu=}@var{cpu_type}
-switch by using the configure option @samp{--with-cpu-}@var{cpu_type}.
-Beta versions of the Sun 4.0 compiler do not seem to be able to build
-GNU CC correctly.  There are also problems with the host assembler and
-linker that are fixed by using the GNU versions of these tools.
-
 @item powerpcle-*-eabisim
 Embedded PowerPC system in little endian mode for use in running under
 the PSIM simulator.
@@ -1618,10 +1404,6 @@ an internal table size limitation in that compiler.  To avoid this
 problem, compile just the GNU C compiler first, and use it to recompile
 building all the languages that you want to run.
 
-@item sparc-sun-*
-See @ref{Sun Install}, for information on installing GNU CC on Sun
-systems.
-
 @item vax-dec-vms
 See @ref{VMS Install}, for details on how to install GNU CC on VMS.
 
@@ -1760,7 +1542,6 @@ for the target machine that you can install on the host machine.
 * Tools and Libraries:: Where to put the linker and assembler, and the C library.
 * Cross Headers::       Finding and installing header files
                           for a cross-compiler.
-* Cross Runtime::       Supplying arithmetic runtime routines (@file{libgcc1.a}).
 * Build Cross::         Actually compiling the cross-compiler.
 @end menu
 
@@ -1884,97 +1665,6 @@ mget *crt*.o
 quit
 @end example
 
-@node Cross Runtime
-@subsection @file{libgcc.a} and Cross-Compilers
-
-Code compiled by GNU CC uses certain runtime support functions
-implicitly.  Some of these functions can be compiled successfully with
-GNU CC itself, but a few cannot be.  These problem functions are in the
-source file @file{libgcc1.c}; the library made from them is called
-@file{libgcc1.a}.
-
-When you build a native compiler, these functions are compiled with some
-other compiler--the one that you use for bootstrapping GNU CC.
-Presumably it knows how to open code these operations, or else knows how
-to call the run-time emulation facilities that the machine comes with.
-But this approach doesn't work for building a cross-compiler.  The
-compiler that you use for building knows about the host system, not the
-target system.
-
-So, when you build a cross-compiler you have to supply a suitable
-library @file{libgcc1.a} that does the job it is expected to do.
-
-To compile @file{libgcc1.c} with the cross-compiler itself does not
-work.  The functions in this file are supposed to implement arithmetic
-operations that GNU CC does not know how to open code for your target
-machine.  If these functions are compiled with GNU CC itself, they
-will compile into infinite recursion.
-
-On any given target, most of these functions are not needed.  If GNU CC
-can open code an arithmetic operation, it will not call these functions
-to perform the operation.  It is possible that on your target machine,
-none of these functions is needed.  If so, you can supply an empty
-library as @file{libgcc1.a}.
-
-Many targets need library support only for multiplication and division.
-If you are linking with a library that contains functions for
-multiplication and division, you can tell GNU CC to call them directly
-by defining the macros @code{MULSI3_LIBCALL}, and the like.  These
-macros need to be defined in the target description macro file.  For
-some targets, they are defined already.  This may be sufficient to
-avoid the need for libgcc1.a; if so, you can supply an empty library.
-
-Some targets do not have floating point instructions; they need other
-functions in @file{libgcc1.a}, which do floating arithmetic.
-Recent versions of GNU CC have a file which emulates floating point.
-With a certain amount of work, you should be able to construct a
-floating point emulator that can be used as @file{libgcc1.a}.  Perhaps
-future versions will contain code to do this automatically and
-conveniently.  That depends on whether someone wants to implement it.
-
-Some embedded targets come with all the necessary @file{libgcc1.a}
-routines written in C or assembler.  These targets build
-@file{libgcc1.a} automatically and you do not need to do anything
-special for them.  Other embedded targets do not need any
-@file{libgcc1.a} routines since all the necessary operations are
-supported by the hardware.
-
-If your target system has another C compiler, you can configure GNU CC
-as a native compiler on that machine, build just @file{libgcc1.a} with
-@samp{make libgcc1.a} on that machine, and use the resulting file with
-the cross-compiler.  To do this, execute the following on the target
-machine:
-
-@example
-cd @var{target-build-dir}
-./configure --host=sparc --target=sun3
-make libgcc1.a
-@end example
-
-@noindent
-And then this on the host machine:
-
-@example
-ftp @var{target-machine}
-binary
-cd @var{target-build-dir}
-get libgcc1.a
-quit
-@end example
-
-Another way to provide the functions you need in @file{libgcc1.a} is to
-define the appropriate @code{perform_@dots{}} macros for those
-functions.  If these definitions do not use the C arithmetic operators
-that they are meant to implement, you should be able to compile them
-with the cross-compiler you are building.  (If these definitions already
-exist for your target file, then you are all set.)
-
-To build @file{libgcc1.a} using the perform macros, use
-@samp{LIBGCC1=libgcc1.a OLDCC=./xgcc} when building the compiler.
-Otherwise, you should place your replacement library under the name
-@file{libgcc1.a} in the directory in which you will build the
-cross-compiler, before you run @code{make}.
-
 @node Cross Headers
 @subsection Cross-Compilers and Header Files
 
@@ -2031,22 +1721,17 @@ tar xf tarfile
 @subsection Actually Building the Cross-Compiler
 
 Now you can proceed just as for compiling a single-machine compiler
-through the step of building stage 1.  If you have not provided some
-sort of @file{libgcc1.a}, then compilation will give up at the point
-where it needs that file, printing a suitable error message.  If you
-do provide @file{libgcc1.a}, then building the compiler will automatically
-compile and link a test program called @file{libgcc1-test}; if you get
-errors in the linking, it means that not all of the necessary routines
-in @file{libgcc1.a} are available.
-
-You must provide the header file @file{float.h}.  One way to do this is
-to compile @file{enquire} and run it on your target machine.  The job of
-@file{enquire} is to run on the target machine and figure out by
-experiment the nature of its floating point representation.
-@file{enquire} records its findings in the header file @file{float.h}.
-If you can't produce this file by running @file{enquire} on the target
-machine, then you will need to come up with a suitable @file{float.h} in
-some other way (or else, avoid using it in your programs).
+through the step of building stage 1.
+
+If your target is exotic, you may need to provide the header file
+@file{float.h}.One way to do this is to compile @file{enquire} and run
+it on your target machine.  The job of @file{enquire} is to run on the
+target machine and figure out by experiment the nature of its floating
+point representation.  @file{enquire} records its findings in the header
+file @file{float.h}.  If you can't produce this file by running
+@file{enquire} on the target machine, then you will need to come up with
+a suitable @file{float.h} in some other way (or else, avoid using it in
+your programs).
 
 Do not try to build stage 2 for a cross-compiler.  It doesn't work to
 rebuild GNU CC as a cross-compiler using the cross-compiler, because
@@ -2060,45 +1745,6 @@ must specify a 68030 as the host when you configure it.
 
 To install the cross-compiler, use @samp{make install}, as usual.
 
-@node Sun Install
-@section Installing GNU CC on the Sun
-@cindex Sun installation
-@cindex installing GNU CC on the Sun
-
-On Solaris, do not use the linker or other tools in
-@file{/usr/ucb} to build GNU CC.  Use @code{/usr/ccs/bin}.
-
-If the assembler reports @samp{Error: misaligned data} when bootstrapping,
-you are probably using an obsolete version of the GNU assembler.  Upgrade
-to the latest version of GNU @code{binutils}, or use the Solaris assembler.
-
-Make sure the environment variable @code{FLOAT_OPTION} is not set when
-you compile @file{libgcc.a}.  If this option were set to @code{f68881}
-when @file{libgcc.a} is compiled, the resulting code would demand to be
-linked with a special startup file and would not link properly without
-special pains.
-
-@cindex @code{alloca}, for SunOS
-There is a bug in @code{alloca} in certain versions of the Sun library.
-To avoid this bug, install the binaries of GNU CC that were compiled by
-GNU CC.  They use @code{alloca} as a built-in function and never the one
-in the library.
-
-Some versions of the Sun compiler crash when compiling GNU CC.  The
-problem is a segmentation fault in cpp.  This problem seems to be due to
-the bulk of data in the environment variables.  You may be able to avoid
-it by using the following command to compile GNU CC with Sun CC:
-
-@example
-make CC="TERMCAP=x OBJS=x LIBFUNCS=x STAGESTUFF=x cc"
-@end example
-
-SunOS 4.1.3 and 4.1.3_U1 have bugs that can cause intermittent core
-dumps when compiling GNU CC.  A common symptom is an
-internal compiler error which does not recur if you run it again.
-To fix the problem, install Sun recommended patch 100726 (for SunOS 4.1.3)
-or 101508 (for SunOS 4.1.3_U1), or upgrade to a later SunOS release.
-
 @node VMS Install
 @section Installing GNU CC on VMS
 @cindex VMS installation
@@ -2435,10 +2081,10 @@ stores the fixed include files.  A cross compiled GNU CC runs
 @code{fixincludes} on the header files in @file{$(tooldir)/include}.
 (If the cross compilation header files need to be fixed, they must be
 installed before GNU CC is built.  If the cross compilation header files
-are already suitable for ANSI C and GNU CC, nothing special need be
+are already suitable for ISO C and GNU CC, nothing special need be
 done).
 
-@code{GPLUS_INCLUDE_DIR} means the same thing for native and cross.  It
+@code{GPLUSPLUS_INCLUDE_DIR} means the same thing for native and cross.  It
 is where @code{g++} looks first for header files.  The C++ library
 installs only target independent header files in that directory.