| Index: gcc/gcc/doc/install.texi
|
| diff --git a/gcc/gcc/doc/install.texi b/gcc/gcc/doc/install.texi
|
| index 56fd99bba3fa7c0b8f2dbe23805a085c979be318..0331ca32e083ae3328abfa6e7e9ec9595472a28e 100644
|
| --- a/gcc/gcc/doc/install.texi
|
| +++ b/gcc/gcc/doc/install.texi
|
| @@ -45,7 +45,8 @@
|
| @end ifset
|
|
|
| @c Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
|
| -@c 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
|
| +@c 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
|
| +@c 2010 Free Software Foundation, Inc.
|
| @c *** Converted to texinfo by Dean Wakerley, dean@wakerley.com
|
|
|
| @c IMPORTANT: whenever you modify this file, run `install.texi2html' to
|
| @@ -302,7 +303,7 @@ Necessary (only on some platforms) to untar the source code. Many
|
| systems' @command{tar} programs will also work, only try GNU
|
| @command{tar} if you have problems.
|
|
|
| -@item GNU Multiple Precision Library (GMP) version 4.1 (or later)
|
| +@item GNU Multiple Precision Library (GMP) version 4.3.2 (or later)
|
|
|
| Necessary to build GCC@. If you do not have it installed in your
|
| library search path, you will have to configure with the
|
| @@ -311,21 +312,25 @@ and @option{--with-gmp-include}. Alternatively, if a GMP source
|
| distribution is found in a subdirectory of your GCC sources named
|
| @file{gmp}, it will be built together with GCC@.
|
|
|
| -@item MPFR Library version 2.3.2 (or later)
|
| +@item MPFR Library version 2.4.2 (or later)
|
|
|
| Necessary to build GCC@. It can be downloaded from
|
| -@uref{http://www.mpfr.org/}. The version of MPFR that is bundled with
|
| -GMP 4.1.x contains numerous bugs. Although GCC may appear to function
|
| -with the buggy versions of MPFR, there are a few bugs that will not be
|
| -fixed when using this version. It is strongly recommended to upgrade
|
| -to the recommended version of MPFR.
|
| -
|
| -The @option{--with-mpfr} configure option should be used if your MPFR
|
| -Library is not installed in your default library search path. See also
|
| -@option{--with-mpfr-lib} and @option{--with-mpfr-include}.
|
| -Alternatively, if a MPFR source distribution is found in a subdirectory
|
| -of your GCC sources named @file{mpfr}, it will be built together with
|
| -GCC@.
|
| +@uref{http://www.mpfr.org/}. The @option{--with-mpfr} configure
|
| +option should be used if your MPFR Library is not installed in your
|
| +default library search path. See also @option{--with-mpfr-lib} and
|
| +@option{--with-mpfr-include}. Alternatively, if a MPFR source
|
| +distribution is found in a subdirectory of your GCC sources named
|
| +@file{mpfr}, it will be built together with GCC@.
|
| +
|
| +@item MPC Library version 0.8.1 (or later)
|
| +
|
| +Necessary to build GCC@. It can be downloaded from
|
| +@uref{http://www.multiprecision.org/}. The @option{--with-mpc}
|
| +configure option should be used if your MPC Library is not installed
|
| +in your default library search path. See also @option{--with-mpc-lib}
|
| +and @option{--with-mpc-include}. Alternatively, if an MPC source
|
| +distribution is found in a subdirectory of your GCC sources named
|
| +@file{mpc}, it will be built together with GCC@.
|
|
|
| @item Parma Polyhedra Library (PPL) version 0.10
|
|
|
| @@ -350,18 +355,28 @@ not installed in your default library search path.
|
|
|
| Necessary to build libgcj, the GCJ runtime.
|
|
|
| -@end table
|
| +@item libelf version 0.8.12 (or later)
|
| +
|
| +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 versions in
|
| +IRIX 5 and 6 don't work since they lack @file{gelf.h}. The version in
|
| +Solaris 2 does work.
|
|
|
| +The @option{--with-libelf} configure option should be used if libelf is
|
| +not installed in your default library search patch.
|
| +
|
| +@end table
|
|
|
| @heading Tools/packages necessary for modifying GCC
|
| @table @asis
|
| -@item autoconf version 2.59
|
| -@itemx GNU m4 version 1.4 (or later)
|
| +@item autoconf version 2.64
|
| +@itemx GNU m4 version 1.4.6 (or later)
|
|
|
| Necessary when modifying @file{configure.ac}, @file{aclocal.m4}, etc.@:
|
| to regenerate @file{configure} and @file{config.in} files.
|
|
|
| -@item automake version 1.9.6
|
| +@item automake version 1.11.1
|
|
|
| Necessary when modifying a @file{Makefile.am} file to regenerate its
|
| associated @file{Makefile.in}.
|
| @@ -372,8 +387,8 @@ file. Specifically this applies to the @file{gcc}, @file{intl},
|
| as any of their subdirectories.
|
|
|
| For directories that use automake, GCC requires the latest release in
|
| -the 1.9.x series, which is currently 1.9.6. When regenerating a directory
|
| -to a newer version, please update all the directories using an older 1.9.x
|
| +the 1.11 series, which is currently 1.11.1. When regenerating a directory
|
| +to a newer version, please update all the directories using an older 1.11
|
| to the latest released version.
|
|
|
| @item gettext version 0.14.5 (or later)
|
| @@ -470,7 +485,7 @@ the GCC-specific entry point. You can download a suitable jar from
|
| @itemx antlr binary
|
|
|
| If you wish to build the @command{gjdoc} binary in libjava, you will
|
| -need to have a @file{antlr.jar} library available. The library is
|
| +need to have an @file{antlr.jar} library available. The library is
|
| searched in system locations but can be configured with
|
| @option{--with-antlr-jar=} instead. When configuring with
|
| @option{--enable-java-maintainer-mode}, you will need to have one of
|
| @@ -531,11 +546,11 @@ components of the binutils you intend to build alongside the compiler
|
| (@file{bfd}, @file{binutils}, @file{gas}, @file{gprof}, @file{ld},
|
| @file{opcodes}, @dots{}) to the directory containing the GCC sources.
|
|
|
| -Likewise, the GMP and MPFR libraries can be automatically built together
|
| -with GCC. Unpack the GMP and/or MPFR source distributions in the
|
| -directory containing the GCC sources and rename their directories to
|
| -@file{gmp} and @file{mpfr}, respectively (or use symbolic links with the
|
| -same name).
|
| +Likewise the GMP, MPFR and MPC libraries can be automatically built
|
| +together with GCC. Unpack the GMP, MPFR and/or MPC source
|
| +distributions in the directory containing the GCC sources and rename
|
| +their directories to @file{gmp}, @file{mpfr} and @file{mpc},
|
| +respectively (or use symbolic links with the same name).
|
|
|
| @html
|
| <hr />
|
| @@ -566,8 +581,8 @@ We use @var{srcdir} to refer to the toplevel source directory for
|
| GCC; we use @var{objdir} to refer to the toplevel build/object directory.
|
|
|
| If you obtained the sources via SVN, @var{srcdir} must refer to the top
|
| -@file{gcc} directory, the one where the @file{MAINTAINERS} can be found,
|
| -and not its @file{gcc} subdirectory, otherwise the build will fail.
|
| +@file{gcc} directory, the one where the @file{MAINTAINERS} file can be
|
| +found, and not its @file{gcc} subdirectory, otherwise the build will fail.
|
|
|
| If either @var{srcdir} or @var{objdir} is located on an automounted NFS
|
| file system, the shell's built-in @command{pwd} command will return
|
| @@ -578,7 +593,7 @@ variable to an automounter-aware @command{pwd} command, e.g.,
|
| phases.
|
|
|
| First, we @strong{highly} recommend that GCC be built into a
|
| -separate directory than the sources which does @strong{not} reside
|
| +separate directory from the sources which does @strong{not} reside
|
| within the source tree. This is how we generally build GCC; building
|
| where @var{srcdir} == @var{objdir} should still work, but doesn't
|
| get extensive testing; building where @var{objdir} is a subdirectory
|
| @@ -647,13 +662,13 @@ The default value refers to the FSF's GCC bug tracker.
|
| @itemize @bullet
|
| @item
|
| GCC has code to correctly determine the correct value for @var{target}
|
| -for nearly all native systems. Therefore, we highly recommend you not
|
| -provide a configure target when configuring a native compiler.
|
| +for nearly all native systems. Therefore, we highly recommend you do
|
| +not provide a configure target when configuring a native compiler.
|
|
|
| @item
|
| @var{target} must be specified as @option{--target=@var{target}}
|
| when configuring a cross compiler; examples of valid targets would be
|
| -m68k-coff, sh-elf, etc.
|
| +m68k-elf, sh-elf, etc.
|
|
|
| @item
|
| Specifying just @var{target} instead of @option{--target=@var{target}}
|
| @@ -709,25 +724,42 @@ The default is @file{@var{exec-prefix}/libexec}.
|
| Specify the installation directory for the shared libgcc library. The
|
| default is @file{@var{libdir}}.
|
|
|
| +@item --datarootdir=@var{dirname}
|
| +Specify the root of the directory tree for read-only architecture-independent
|
| +data files referenced by GCC@. The default is @file{@var{prefix}/share}.
|
| +
|
| @item --infodir=@var{dirname}
|
| Specify the installation directory for documentation in info format.
|
| -The default is @file{@var{prefix}/info}.
|
| +The default is @file{@var{datarootdir}/info}.
|
|
|
| @item --datadir=@var{dirname}
|
| Specify the installation directory for some architecture-independent
|
| -data files referenced by GCC@. The default is @file{@var{prefix}/share}.
|
| +data files referenced by GCC@. The default is @file{@var{datarootdir}}.
|
| +
|
| +@item --docdir=@var{dirname}
|
| +Specify the installation directory for documentation files (other
|
| +than Info) for GCC@. The default is @file{@var{datarootdir}/doc}.
|
| +
|
| +@item --htmldir=@var{dirname}
|
| +Specify the installation directory for HTML documentation files.
|
| +The default is @file{@var{docdir}}.
|
| +
|
| +@item --pdfdir=@var{dirname}
|
| +Specify the installation directory for PDF documentation files.
|
| +The default is @file{@var{docdir}}.
|
|
|
| @item --mandir=@var{dirname}
|
| Specify the installation directory for manual pages. The default is
|
| -@file{@var{prefix}/man}. (Note that the manual pages are only extracts from
|
| -the full GCC manuals, which are provided in Texinfo format. The manpages
|
| +@file{@var{datarootdir}/man}. (Note that the manual pages are only extracts
|
| +from the full GCC manuals, which are provided in Texinfo format. The manpages
|
| are derived by an automatic conversion process from parts of the full
|
| manual.)
|
|
|
| @item --with-gxx-include-dir=@var{dirname}
|
| Specify
|
| -the installation directory for G++ header files. The default is
|
| -@file{@var{prefix}/include/c++/@var{version}}.
|
| +the installation directory for G++ header files. The default depends
|
| +on other configuration options, and differs between cross and native
|
| +configurations.
|
|
|
| @end table
|
|
|
| @@ -988,6 +1020,57 @@ sysv, aix.
|
|
|
| @end table
|
|
|
| +@item --with-multilib-list=@var{list}
|
| +@itemx --without-multilib-list
|
| +Specify what multilibs to build.
|
| +Currently only implemented for sh*-*-*.
|
| +
|
| +@var{list} is a comma separated list of CPU names. These must be of the
|
| +form @code{sh*} or @code{m*} (in which case they match the compiler option
|
| +for that processor). The list should not contain any endian options -
|
| +these are handled by @option{--with-endian}.
|
| +
|
| +If @var{list} is empty, then there will be no multilibs for extra
|
| +processors. The multilib for the secondary endian remains enabled.
|
| +
|
| +As a special case, if an entry in the list starts with a @code{!}
|
| +(exclamation point), then it is added to the list of excluded multilibs.
|
| +Entries of this sort should be compatible with @samp{MULTILIB_EXCLUDES}
|
| +(once the leading @code{!} has been stripped).
|
| +
|
| +If @option{--with-multilib-list} is not given, then a default set of
|
| +multilibs is selected based on the value of @option{--target}. This is
|
| +usually the complete set of libraries, but some targets imply a more
|
| +specialized subset.
|
| +
|
| +Example 1: to configure a compiler for SH4A only, but supporting both
|
| +endians, with little endian being the default:
|
| +@smallexample
|
| +--with-cpu=sh4a --with-endian=little,big --with-multilib-list=
|
| +@end smallexample
|
| +
|
| +Example 2: to configure a compiler for both SH4A and SH4AL-DSP, but with
|
| +only little endian SH4AL:
|
| +@smallexample
|
| +--with-cpu=sh4a --with-endian=little,big --with-multilib-list=sh4al,!mb/m4al
|
| +@end smallexample
|
| +
|
| +@item --with-endian=@var{endians}
|
| +Specify what endians to use.
|
| +Currently only implemented for sh*-*-*.
|
| +
|
| +@var{endians} may be one of the following:
|
| +@table @code
|
| +@item big
|
| +Use big endian exclusively.
|
| +@item little
|
| +Use little endian exclusively.
|
| +@item big,little
|
| +Use big endian by default. Provide a multilib for little endian.
|
| +@item little,big
|
| +Use little endian by default. Provide a multilib for big endian.
|
| +@end table
|
| +
|
| @item --enable-threads
|
| Specify that the target
|
| supports threads. This affects the Objective-C compiler and runtime
|
| @@ -1036,7 +1119,8 @@ RTEMS thread support.
|
| @item single
|
| Disable thread support, should work for all platforms.
|
| @item solaris
|
| -Sun Solaris 2 thread support.
|
| +Sun Solaris 2/Unix International thread support. Only use this if you
|
| +really need to use this legacy API instead of the default, @samp{posix}.
|
| @item vxworks
|
| VxWorks thread support.
|
| @item win32
|
| @@ -1065,8 +1149,8 @@ Specify which cpu variant the compiler should generate code for by default.
|
| This option is only supported on some targets, including ARM, i386, M68k,
|
| PowerPC, and SPARC@. The @option{--with-cpu-32} and
|
| @option{--with-cpu-64} options specify separate default CPUs for
|
| -32-bit and 64-bit modes; these options are only supported for i386 and
|
| -x86-64.
|
| +32-bit and 64-bit modes; these options are only supported for i386,
|
| +x86-64 and PowerPC.
|
|
|
| @item --with-schedule=@var{cpu}
|
| @itemx --with-arch=@var{cpu}
|
| @@ -1088,6 +1172,11 @@ of the arguments depend on the target.
|
| Specify if the compiler should default to @option{-marm} or @option{-mthumb}.
|
| This option is only supported on ARM targets.
|
|
|
| +@item --with-fpmath=sse
|
| +Specify if the compiler should default to @option{-msse2} and
|
| +@option{-mfpmath=sse}. This option is only supported on i386 and
|
| +x86-64 targets.
|
| +
|
| @item --with-divide=@var{type}
|
| Specify how the compiler should generate code for checking for
|
| division by zero. This option is only supported on the MIPS target.
|
| @@ -1113,6 +1202,14 @@ not provide them.
|
| On MIPS targets, make @option{-mno-llsc} the default when no
|
| @option{-mllsc} option is passed.
|
|
|
| +@item --with-synci
|
| +On MIPS targets, make @option{-msynci} the default when no
|
| +@option{-mno-synci} option is passed.
|
| +
|
| +@item --without-synci
|
| +On MIPS targets, make @option{-mno-synci} the default when no
|
| +@option{-msynci} option is passed. This is the default.
|
| +
|
| @item --with-mips-plt
|
| On MIPS targets, make use of copy relocations and PLTs.
|
| These features are extensions to the traditional
|
| @@ -1132,13 +1229,14 @@ Specify that target
|
| libraries should be optimized for code space instead of code speed.
|
| This is the default for the m32r platform.
|
|
|
| -@item --disable-cpp
|
| -Specify that a user visible @command{cpp} program should not be installed.
|
| -
|
| @item --with-cpp-install-dir=@var{dirname}
|
| Specify that the user visible @command{cpp} program should be installed
|
| in @file{@var{prefix}/@var{dirname}/cpp}, in addition to @var{bindir}.
|
|
|
| +@item --enable-comdat
|
| +Enable COMDAT group support. This is primarily used to override the
|
| +automatically detected value.
|
| +
|
| @item --enable-initfini-array
|
| Force the use of sections @code{.init_array} and @code{.fini_array}
|
| (instead of @code{.init} and @code{.fini}) for constructors and
|
| @@ -1147,9 +1245,13 @@ opposite effect. If neither option is specified, the configure script
|
| will try to guess whether the @code{.init_array} and
|
| @code{.fini_array} sections are supported and, if they are, use them.
|
|
|
| +@item --enable-build-with-cxx
|
| +Build GCC using a C++ compiler rather than a C compiler. This is an
|
| +experimental option which may become the default in a later release.
|
| +
|
| @item --enable-maintainer-mode
|
| -The build rules that
|
| -regenerate the GCC master message catalog @file{gcc.pot} are normally
|
| +The build rules that regenerate the Autoconf and Automake output files as
|
| +well as the GCC master message catalog @file{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 @option{--enable-maintainer-mode} will enable
|
| @@ -1165,7 +1267,7 @@ this process, you can configure with @option{--disable-bootstrap}.
|
| @item --enable-bootstrap
|
| In special cases, you may want to perform a 3-stage build
|
| even if the target and host triplets are different.
|
| -This could happen when the host can run code compiled for
|
| +This is possible when the host can run code compiled for
|
| the target (e.g.@: host is i686-linux, target is i486-linux).
|
| Starting from GCC 4.2, to do this you have to configure explicitly
|
| with @option{--enable-bootstrap}.
|
| @@ -1255,8 +1357,10 @@ powerpc-linux for powerpc64-linux, only generates 32-bit code. This
|
| option enables the 32-bit target to be a bi-arch compiler, which is
|
| useful when you want a bi-arch compiler that defaults to 32-bit, and
|
| you are building a bi-arch or multi-arch binutils in a combined tree.
|
| -Currently, this option only affects sparc-linux, powerpc-linux and
|
| -x86-linux.
|
| +On mips-linux, this will build a tri-arch compiler (ABI o32/n32/64),
|
| +defaulted to o32.
|
| +Currently, this option only affects sparc-linux, powerpc-linux, x86-linux
|
| +and mips-linux.
|
|
|
| @item --enable-secureplt
|
| This option enables @option{-msecure-plt} by default for powerpc-linux.
|
| @@ -1340,7 +1444,7 @@ increase the risk of undetected internal errors causing wrong code to be
|
| generated.
|
|
|
| @item --disable-stage1-checking
|
| -@item --enable-stage1-checking
|
| +@itemx --enable-stage1-checking
|
| @itemx --enable-stage1-checking=@var{list}
|
| If no @option{--enable-checking} option is specified the stage1
|
| compiler will be built with @samp{yes} checking enabled, otherwise
|
| @@ -1442,17 +1546,24 @@ When neither of these configure options are used, the default will be
|
| @itemx --with-mpfr=@var{pathname}
|
| @itemx --with-mpfr-include=@var{pathname}
|
| @itemx --with-mpfr-lib=@var{pathname}
|
| -If you do not have GMP (the GNU Multiple Precision library) and the
|
| -MPFR Libraries installed in a standard location and you want to build
|
| -GCC, you can explicitly specify the directory where they are installed
|
| -(@samp{--with-gmp=@var{gmpinstalldir}},
|
| -@samp{--with-mpfr=@var{mpfrinstalldir}}). The
|
| +@itemx --with-mpc=@var{pathname}
|
| +@itemx --with-mpc-include=@var{pathname}
|
| +@itemx --with-mpc-lib=@var{pathname}
|
| +If you do not have GMP (the GNU Multiple Precision library), the MPFR
|
| +library and/or the MPC library installed in a standard location and
|
| +you want to build GCC, you can explicitly specify the directory where
|
| +they are installed (@samp{--with-gmp=@var{gmpinstalldir}},
|
| +@samp{--with-mpfr=@var{mpfrinstalldir}},
|
| +@samp{--with-mpc=@var{mpcinstalldir}}). The
|
| @option{--with-gmp=@var{gmpinstalldir}} option is shorthand for
|
| @option{--with-gmp-lib=@var{gmpinstalldir}/lib} and
|
| @option{--with-gmp-include=@var{gmpinstalldir}/include}. Likewise the
|
| @option{--with-mpfr=@var{mpfrinstalldir}} option is shorthand for
|
| @option{--with-mpfr-lib=@var{mpfrinstalldir}/lib} and
|
| -@option{--with-mpfr-include=@var{mpfrinstalldir}/include}. If these
|
| +@option{--with-mpfr-include=@var{mpfrinstalldir}/include}, also the
|
| +@option{--with-mpc=@var{mpcinstalldir}} option is shorthand for
|
| +@option{--with-mpc-lib=@var{mpcinstalldir}/lib} and
|
| +@option{--with-mpc-include=@var{mpcinstalldir}/include}. If these
|
| shorthand assumptions are not correct, you can use the explicit
|
| include and lib options directly.
|
|
|
| @@ -1485,22 +1596,84 @@ linking with a shared copy of PPL, you probably do not need this
|
| option; shared library dependencies will cause the linker to search
|
| for the standard C++ library automatically.
|
|
|
| +@item --with-stage1-ldflags=@var{flags}
|
| +This option may be used to set linker flags to be used when linking
|
| +stage 1 of GCC. These are also used when linking GCC if configured with
|
| +@option{--disable-bootstrap}. By default no special flags are used.
|
| +
|
| +@item --with-stage1-libs=@var{libs}
|
| +This option may be used to set libraries to be used when linking stage 1
|
| +of GCC. These are also used when linking GCC if configured with
|
| +@option{--disable-bootstrap}. The default is the argument to
|
| +@option{--with-host-libstdcxx}, if specified.
|
| +
|
| +@item --with-boot-ldflags=@var{flags}
|
| +This option may be used to set linker flags to be used when linking
|
| +stage 2 and later when bootstrapping GCC. By default no special flags
|
| +are used.
|
| +
|
| +@item --with-boot-libs=@var{libs}
|
| +This option may be used to set libraries to be used when linking stage 2
|
| +and later when bootstrapping GCC. The default is the argument to
|
| +@option{--with-host-libstdcxx}, if specified.
|
| +
|
| @item --with-debug-prefix-map=@var{map}
|
| Convert source directory names using @option{-fdebug-prefix-map} when
|
| building runtime libraries. @samp{@var{map}} is a space-separated
|
| list of maps of the form @samp{@var{old}=@var{new}}.
|
|
|
| +@item --enable-linker-build-id
|
| +Tells GCC to pass @option{--build-id} option to the linker for all final
|
| +links (links performed without the @option{-r} or @option{--relocatable}
|
| +option), if the linker supports it. If you specify
|
| +@option{--enable-linker-build-id}, but your linker does not
|
| +support @option{--build-id} option, a warning is issued and the
|
| +@option{--enable-linker-build-id} option is ignored. The default is off.
|
| +
|
| +@item --enable-gnu-unique-object
|
| +@itemx --disable-gnu-unique-object
|
| +Tells GCC to use the gnu_unique_object relocation for C++ template
|
| +static data members and inline function local statics. Enabled by
|
| +default for a native toolchain with an assembler that accepts it and
|
| +GLIBC 2.11 or above, otherwise disabled.
|
| +
|
| +@item --enable-lto
|
| +Enable support for link-time optimization (LTO). This is enabled by
|
| +default if a working libelf implementation is found (see
|
| +@option{--with-libelf}).
|
| +
|
| +@item --with-libelf=@var{pathname}
|
| +@itemx --with-libelf-include=@var{pathname}
|
| +@itemx --with-libelf-lib=@var{pathname}
|
| +If you do not have libelf installed in a standard location and you
|
| +want to enable support for link-time optimization (LTO), you can
|
| +explicitly specify the directory where libelf is installed
|
| +(@samp{--with-libelf=@var{libelfinstalldir}}). The
|
| +@option{--with-libelf=@var{libelfinstalldir}} option is shorthand for
|
| +@option{--with-libelf-include=@var{libelfinstalldir}/include}
|
| +@option{--with-libelf-lib=@var{libelfinstalldir}/lib}.
|
| +
|
| +@item --enable-gold
|
| +Enable support for using @command{gold} as the linker. If gold support is
|
| +enabled together with @option{--enable-lto}, an additional directory
|
| +@file{lto-plugin} will be built. The code in this directory is a
|
| +plugin for gold that allows the link-time optimizer to extract object
|
| +files with LTO information out of library archives. See
|
| +@option{-flto} and @option{-fwhopr} for details.
|
| @end table
|
|
|
| @subheading Cross-Compiler-Specific Options
|
| The following options only apply to building cross compilers.
|
| +
|
| @table @code
|
| @item --with-sysroot
|
| @itemx --with-sysroot=@var{dir}
|
| Tells GCC to consider @var{dir} as the root of a tree that contains a
|
| (subset of) the root filesystem of the target operating system.
|
| Target system headers, libraries and run-time object files will be
|
| -searched in there. The specified directory is not copied into the
|
| +searched in there. More specifically, this acts as if
|
| +@option{--sysroot=@var{dir}} was added to the default options of the built
|
| +compiler. The specified directory is not copied into the
|
| install tree, unlike the options @option{--with-headers} and
|
| @option{--with-libs} that this option obsoletes. The default value,
|
| in case @option{--with-sysroot} is not given an argument, is
|
| @@ -1508,6 +1681,11 @@ in case @option{--with-sysroot} is not given an argument, is
|
| subdirectory of @option{$@{exec_prefix@}}, then it will be found relative to
|
| the GCC binaries if the installation tree is moved.
|
|
|
| +This option affects the system root for the compiler used to build
|
| +target libraries (which runs on the build system) and the compiler newly
|
| +installed with @code{make install}; it does not affect the compiler which is
|
| +used to build GCC itself.
|
| +
|
| @item --with-build-sysroot
|
| @itemx --with-build-sysroot=@var{dir}
|
| Tells GCC to consider @var{dir} as the system root (see
|
| @@ -1540,7 +1718,7 @@ compiler. When crossing to GNU/Linux, you need the headers so GCC
|
| can build the exception handling for libgcc.
|
|
|
| @item --with-libs
|
| -@itemx --with-libs=``@var{dir1} @var{dir2} @dots{} @var{dirN}''
|
| +@itemx --with-libs="@var{dir1} @var{dir2} @dots{} @var{dirN}"
|
| Deprecated in favor of @option{--with-sysroot}.
|
| Specifies a list of directories which contain the target runtime
|
| libraries. These libraries will be copied into the @file{gcc} install
|
| @@ -1559,7 +1737,7 @@ that will be used while building GCC itself. This option can be useful
|
| if the directory layouts are different between the system you are building
|
| GCC on, and the system where you will deploy it.
|
|
|
| -For example, on a @option{ia64-hp-hpux} system, you may have the GNU
|
| +For example, on an @samp{ia64-hp-hpux} system, you may have the GNU
|
| assembler and linker in @file{/usr/bin}, and the native tools in a
|
| different path, and build a toolchain that expects to find the
|
| native tools in @file{/usr/bin}.
|
| @@ -1740,6 +1918,9 @@ not specified, then the Python modules are installed in $(prefix)/share/python.
|
| @item --enable-aot-compile-rpm
|
| Adds aot-compile-rpm to the list of installed scripts.
|
|
|
| +@item --enable-browser-plugin
|
| +Build the gcjwebplugin web browser plugin.
|
| +
|
| @table @code
|
| @item ansi
|
| Use the single-byte @code{char} and the Win32 A functions natively,
|
| @@ -1928,7 +2109,7 @@ bootstrapped, you can use @code{CFLAGS_FOR_TARGET} to modify their
|
| compilation flags, as for non-bootstrapped target libraries.
|
| Again, if the native compiler miscompiles the stage1 compiler, you may
|
| need to work around this by avoiding non-working parts of the stage1
|
| -compiler. Use @code{STAGE1_LIBCFLAGS} to this end.
|
| +compiler. Use @code{STAGE1_TFLAGS} to this end.
|
|
|
| If you used the flag @option{--enable-languages=@dots{}} to restrict
|
| the compilers to be built, only those you've actually enabled will be
|
| @@ -1952,6 +2133,76 @@ the one you are building on: for example, you could build a
|
| @code{powerpc64-unknown-linux-gnu} host. In this case, pass
|
| @option{--enable-bootstrap} to the configure script.
|
|
|
| +@code{BUILD_CONFIG} can be used to bring in additional customization
|
| +to the build. It can be set to a whitespace-separated list of names.
|
| +For each such @code{NAME}, top-level @file{config/@code{NAME}.mk} will
|
| +be included by the top-level @file{Makefile}, bringing in any settings
|
| +it contains. The default @code{BUILD_CONFIG} can be set using the
|
| +configure option @option{--with-build-config=@code{NAME}...}. Some
|
| +examples of supported build configurations are:
|
| +
|
| +@table @asis
|
| +@item @samp{bootstrap-O1}
|
| +Removes any @option{-O}-started option from @code{BOOT_CFLAGS}, and adds
|
| +@option{-O1} to it. @samp{BUILD_CONFIG=bootstrap-O1} is equivalent to
|
| +@samp{BOOT_CFLAGS='-g -O1'}.
|
| +
|
| +@item @samp{bootstrap-O3}
|
| +Analogous to @code{bootstrap-O1}.
|
| +
|
| +@item @samp{bootstrap-debug}
|
| +Verifies that the compiler generates the same executable code, whether
|
| +or not it is asked to emit debug information. To this end, this
|
| +option builds stage2 host programs without debug information, and uses
|
| +@file{contrib/compare-debug} to compare them with the stripped stage3
|
| +object files. If @code{BOOT_CFLAGS} is overridden so as to not enable
|
| +debug information, stage2 will have it, and stage3 won't. This option
|
| +is enabled by default when GCC bootstrapping is enabled, if
|
| +@code{strip} can turn object files compiled with and without debug
|
| +info into identical object files. In addition to better test
|
| +coverage, this option makes default bootstraps faster and leaner.
|
| +
|
| +@item @samp{bootstrap-debug-big}
|
| +Rather than comparing stripped object files, as in
|
| +@code{bootstrap-debug}, this option saves internal compiler dumps
|
| +during stage2 and stage3 and compares them as well, which helps catch
|
| +additional potential problems, but at a great cost in terms of disk
|
| +space. It can be specified in addition to @samp{bootstrap-debug}.
|
| +
|
| +@item @samp{bootstrap-debug-lean}
|
| +This option saves disk space compared with @code{bootstrap-debug-big},
|
| +but at the expense of some recompilation. Instead of saving the dumps
|
| +of stage2 and stage3 until the final compare, it uses
|
| +@option{-fcompare-debug} to generate, compare and remove the dumps
|
| +during stage3, repeating the compilation that already took place in
|
| +stage2, whose dumps were not saved.
|
| +
|
| +@item @samp{bootstrap-debug-lib}
|
| +This option tests executable code invariance over debug information
|
| +generation on target libraries, just like @code{bootstrap-debug-lean}
|
| +tests it on host programs. It builds stage3 libraries with
|
| +@option{-fcompare-debug}, and it can be used along with any of the
|
| +@code{bootstrap-debug} options above.
|
| +
|
| +There aren't @code{-lean} or @code{-big} counterparts to this option
|
| +because most libraries are only build in stage3, so bootstrap compares
|
| +would not get significant coverage. Moreover, the few libraries built
|
| +in stage2 are used in stage3 host programs, so we wouldn't want to
|
| +compile stage2 libraries with different options for comparison purposes.
|
| +
|
| +@item @samp{bootstrap-debug-ckovw}
|
| +Arranges for error messages to be issued if the compiler built on any
|
| +stage is run without the option @option{-fcompare-debug}. This is
|
| +useful to verify the full @option{-fcompare-debug} testing coverage. It
|
| +must be used along with @code{bootstrap-debug-lean} and
|
| +@code{bootstrap-debug-lib}.
|
| +
|
| +@item @samp{bootstrap-time}
|
| +Arranges for the run time of each program started by the GCC driver,
|
| +built in any stage, to be logged to @file{time.log}, in the top level of
|
| +the build tree.
|
| +
|
| +@end table
|
|
|
| @section Building a cross compiler
|
|
|
| @@ -1959,7 +2210,7 @@ When building a cross compiler, it is not generally possible to do a
|
| 3-stage bootstrap of the compiler. This makes for an interesting problem
|
| as parts of GCC can only be built with GCC@.
|
|
|
| -To build a cross compiler, we first recommend building and installing a
|
| +To build a cross compiler, we recommend first building and installing a
|
| native compiler. You can then use the native GCC compiler to build the
|
| cross compiler. The installed native compiler needs to be GCC version
|
| 2.95 or later.
|
| @@ -2039,7 +2290,7 @@ compilation options. Check your target's definition of
|
|
|
| @section Building in parallel
|
|
|
| -GNU Make 3.79 and above, which is necessary to build GCC, support
|
| +GNU Make 3.80 and above, which is necessary to build GCC, support
|
| building in parallel. To activate this, you can use @samp{make -j 2}
|
| instead of @samp{make}. You can also specify a bigger number, and
|
| in most cases using a value greater than the number of processors in
|
| @@ -2453,7 +2704,7 @@ incomplete or out of date. Send a note to
|
| @email{gcc@@gcc.gnu.org} detailing how the information should be changed.
|
|
|
| If you find a bug, please report it following the
|
| -@uref{../bugs.html,,bug reporting guidelines}.
|
| +@uref{../bugs/,,bug reporting guidelines}.
|
|
|
| If you want to print the GCC manuals, do @samp{cd @var{objdir}; make
|
| dvi}. You will need to have @command{texi2dvi} (version at least 4.7)
|
| @@ -2574,15 +2825,6 @@ The @uref{http://gcc.gnu.org/wiki/GFortranBinaries,,GFortran Wiki} has
|
| links to GNU Fortran binaries for several platforms.
|
| @end itemize
|
|
|
| -In addition to those specific offerings, you can get a binary
|
| -distribution CD-ROM from the
|
| -@uref{http://www.gnu.org/order/order.html,,Free Software Foundation}.
|
| -It contains binaries for a number of platforms, and
|
| -includes not only GCC, but other stuff as well. The current CD does
|
| -not contain the latest version of GCC, but it should allow
|
| -bootstrapping the compiler. An updated version of that disk is in the
|
| -works.
|
| -
|
| @html
|
| <hr />
|
| <p>
|
| @@ -2625,8 +2867,6 @@ information are.
|
| @uref{#arc-x-elf,,arc-*-elf}
|
| @item
|
| @uref{#arm-x-elf,,arm-*-elf}
|
| -@uref{#arm-x-coff,,arm-*-coff}
|
| -@uref{#arm-x-aout,,arm-*-aout}
|
| @item
|
| @uref{#avr,,avr}
|
| @item
|
| @@ -2648,6 +2888,8 @@ information are.
|
| @item
|
| @uref{#ix86-x-linux,,i?86-*-linux*}
|
| @item
|
| +@uref{#ix86-x-solaris289,,i?86-*-solaris2.[89]}
|
| +@item
|
| @uref{#ix86-x-solaris210,,i?86-*-solaris2.10}
|
| @item
|
| @uref{#ia64-x-linux,,ia64-*-linux}
|
| @@ -2658,6 +2900,10 @@ information are.
|
| @item
|
| @uref{#iq2000-x-elf,,iq2000-*-elf}
|
| @item
|
| +@uref{#lm32-x-elf,,lm32-*-elf}
|
| +@item
|
| +@uref{#lm32-x-uclinux,,lm32-*-uclinux}
|
| +@item
|
| @uref{#m32c-x-elf,,m32c-*-elf}
|
| @item
|
| @uref{#m32r-x-elf,,m32r-*-elf}
|
| @@ -2670,6 +2916,8 @@ information are.
|
| @item
|
| @uref{#m68k-uclinux,,m68k-uclinux}
|
| @item
|
| +@uref{#mep-x-elf,,mep-*-elf}
|
| +@item
|
| @uref{#mips-x-x,,mips-*-*}
|
| @item
|
| @uref{#mips-sgi-irix5,,mips-sgi-irix5}
|
| @@ -2708,6 +2956,8 @@ information are.
|
| @item
|
| @uref{#sparc-sun-solaris27,,sparc-sun-solaris2.7}
|
| @item
|
| +@uref{#sparc-sun-solaris210,,sparc-sun-solaris2.10}
|
| +@item
|
| @uref{#sparc-x-linux,,sparc-*-linux*}
|
| @item
|
| @uref{#sparc64-x-solaris2,,sparc64-*-solaris2*}
|
| @@ -2728,7 +2978,7 @@ information are.
|
| @item
|
| @uref{#x-x-interix,,*-*-interix}
|
| @item
|
| -@uref{#x-x-mingw,,*-*-mingw}
|
| +@uref{#x-x-mingw32,,*-*-mingw32}
|
| @item
|
| @uref{#os2,,OS/2}
|
| @item
|
| @@ -2763,61 +3013,38 @@ shared libraries.
|
| @end html
|
| @heading @anchor{alpha-dec-osf}alpha*-dec-osf*
|
| Systems using processors that implement the DEC Alpha architecture and
|
| -are running the DEC/Compaq Unix (DEC OSF/1, Digital UNIX, or Compaq
|
| +are running the DEC/Compaq/HP Unix (DEC OSF/1, Digital UNIX, or Compaq/HP
|
| Tru64 UNIX) operating system, for example the DEC Alpha AXP systems.
|
|
|
| As of GCC 3.2, versions before @code{alpha*-dec-osf4} are no longer
|
| supported. (These are the versions which identify themselves as DEC
|
| -OSF/1.)
|
| +OSF/1.) As of GCC 4.5, support for Tru64 UNIX V4.0 and V5.0 has been
|
| +obsoleted, but can still be enabled by configuring with
|
| +@option{--enable-obsolete}. Support will be removed in GCC 4.6.
|
|
|
| -In Digital Unix V4.0, virtual memory exhausted bootstrap failures
|
| -may be fixed by configuring with @option{--with-gc=simple},
|
| -reconfiguring Kernel Virtual Memory and Swap parameters
|
| +On Tru64 UNIX, virtual memory exhausted bootstrap failures
|
| +may be fixed by reconfiguring Kernel Virtual Memory and Swap parameters
|
| per the @command{/usr/sbin/sys_check} Tuning Suggestions,
|
| or applying the patch in
|
| -@uref{http://gcc.gnu.org/ml/gcc/2002-08/msg00822.html}.
|
| -
|
| -In Tru64 UNIX V5.1, Compaq introduced a new assembler that does not
|
| -currently (2001-06-13) work with @command{mips-tfile}. As a workaround,
|
| -we need to use the old assembler, invoked via the barely documented
|
| -@option{-oldas} option. To bootstrap GCC, you either need to use the
|
| -Compaq C Compiler:
|
| -
|
| -@smallexample
|
| - % CC=cc @var{srcdir}/configure [@var{options}] [@var{target}]
|
| -@end smallexample
|
| -
|
| -or you can use a copy of GCC 2.95.3 or higher built on Tru64 UNIX V4.0:
|
| -
|
| -@smallexample
|
| - % CC=gcc -Wa,-oldas @var{srcdir}/configure [@var{options}] [@var{target}]
|
| -@end smallexample
|
| +@uref{http://gcc.gnu.org/ml/gcc/2002-08/msg00822.html}. Depending on
|
| +the OS version used, you need a data segment size between 512 MB and
|
| +1 GB, so simply use @command{ulimit -Sd unlimited}.
|
|
|
| -As of GNU binutils 2.11.2, neither GNU @command{as} nor GNU @command{ld}
|
| +As of GNU binutils 2.20.1, neither GNU @command{as} nor GNU @command{ld}
|
| are supported on Tru64 UNIX, so you must not configure GCC with
|
| @option{--with-gnu-as} or @option{--with-gnu-ld}.
|
|
|
| GCC writes a @samp{.verstamp} directive to the assembler output file
|
| unless it is built as a cross-compiler. It gets the version to use from
|
| the system header file @file{/usr/include/stamp.h}. If you install a
|
| -new version of DEC Unix, you should rebuild GCC to pick up the new version
|
| +new version of Tru64 UNIX, you should rebuild GCC to pick up the new version
|
| stamp.
|
|
|
| -@samp{make compare} may fail on old versions of DEC Unix unless you add
|
| -@option{-save-temps} to @code{BOOT_CFLAGS}. On these systems, the name
|
| -of the assembler input file is stored in the object file, and that makes
|
| -comparison fail if it differs between the @code{stage1} and
|
| -@code{stage2} compilations. The option @option{-save-temps} forces a
|
| -fixed name to be used for the assembler input file, instead of a
|
| -randomly chosen name in @file{/tmp}. Do not add @option{-save-temps}
|
| -unless the comparisons fail without that option. If you add
|
| -@option{-save-temps}, you will have to manually delete the @samp{.i} and
|
| -@samp{.s} files after each series of compilations.
|
| -
|
| GCC now supports both the native (ECOFF) debugging format used by DBX
|
| and GDB and an encapsulated STABS format for use only with GDB@. See the
|
| discussion of the @option{--with-stabs} option of @file{configure} above
|
| for more information on these formats and how to select them.
|
| +@c FIXME: does this work at all? If so, perhaps make default.
|
|
|
| There is a bug in DEC's assembler that produces incorrect line numbers
|
| for ECOFF format when the @samp{.align} directive is used. To work
|
| @@ -2831,6 +3058,8 @@ To avoid this behavior, specify @option{-gstabs+} and use GDB instead of
|
| DBX@. DEC is now aware of this problem with the assembler and hopes to
|
| provide a fix shortly.
|
|
|
| +@c FIXME: still applicable?
|
| +
|
| @html
|
| <hr />
|
| @end html
|
| @@ -2850,21 +3079,6 @@ and @code{arm-*-rtems}.
|
| @html
|
| <hr />
|
| @end html
|
| -@heading @anchor{arm-x-coff}arm-*-coff
|
| -ARM-family processors. Note that there are two different varieties
|
| -of PE format subtarget supported: @code{arm-wince-pe} and
|
| -@code{arm-pe} as well as a standard COFF target @code{arm-*-coff}.
|
| -
|
| -@html
|
| -<hr />
|
| -@end html
|
| -@heading @anchor{arm-x-aout}arm-*-aout
|
| -ARM-family processors. These targets support the AOUT file format:
|
| -@code{arm-*-aout}, @code{arm-*-netbsd}.
|
| -
|
| -@html
|
| -<hr />
|
| -@end html
|
| @heading @anchor{avr}avr
|
|
|
| ATMEL AVR-family micro controllers. These are used in embedded
|
| @@ -2994,48 +3208,37 @@ and includes all the necessary compilation tools and libraries.
|
| @end html
|
| @heading @anchor{x-x-freebsd}*-*-freebsd*
|
|
|
| -The version of binutils installed in @file{/usr/bin} probably works with
|
| -this release of GCC@. However, on FreeBSD 4, bootstrapping against the
|
| -latest FSF binutils is known to improve overall testsuite results; and,
|
| -on FreeBSD/alpha, using binutils 2.14 or later is required to build libjava.
|
| -
|
| -Support for FreeBSD 1 was discontinued in GCC 3.2.
|
| -
|
| -Support for FreeBSD 2 will be discontinued after GCC 3.4. The
|
| -following was true for GCC 3.1 but the current status is unknown.
|
| -For FreeBSD 2 or any mutant a.out versions of FreeBSD 3: All
|
| -configuration support and files as shipped with GCC 2.95 are still in
|
| -place. FreeBSD 2.2.7 has been known to bootstrap completely; however,
|
| -it is unknown which version of binutils was used (it is assumed that it
|
| -was the system copy in @file{/usr/bin}) and C++ EH failures were noted.
|
| -
|
| -For FreeBSD using the ELF file format: DWARF 2 debugging is now the
|
| -default for all CPU architectures. It had been the default on
|
| -FreeBSD/alpha since its inception. You may use @option{-gstabs} instead
|
| -of @option{-g}, if you really want the old debugging format. There are
|
| +Support for FreeBSD 1 was discontinued in GCC 3.2. Support for
|
| +FreeBSD 2 (and any mutant a.out variants of FreeBSD 3) was
|
| +discontinued in GCC 4.0.
|
| +
|
| +In GCC 4.5, we enabled the use of @code{dl_iterate_phdr} inside boehm-gc on
|
| +FreeBSD 7 or later. In order to better match the configuration of the
|
| +FreeBSD system compiler: We also enabled the check to see if libc
|
| +provides SSP support (which it does on FreeBSD 7), the use of
|
| +@code{dl_iterate_phdr} inside @file{libgcc_s.so.1} (on FreeBSD 7 or later)
|
| +and the use of @code{__cxa_atexit} by default (on FreeBSD 6 or later).
|
| +
|
| +We support FreeBSD using the ELF file format with DWARF 2 debugging
|
| +for all CPU architectures. You may use @option{-gstabs} instead of
|
| +@option{-g}, if you really want the old debugging format. There are
|
| no known issues with mixing object files and libraries with different
|
| -debugging formats. Otherwise, this release of GCC should now match more
|
| -of the configuration used in the stock FreeBSD configuration of GCC@. In
|
| -particular, @option{--enable-threads} is now configured by default.
|
| -However, as a general user, do not attempt to replace the system
|
| -compiler with this release. Known to bootstrap and check with good
|
| -results on FreeBSD 4.9-STABLE and 5-CURRENT@. In the past, known to
|
| -bootstrap and check with good results on FreeBSD 3.0, 3.4, 4.0, 4.2,
|
| -4.3, 4.4, 4.5, 4.8-STABLE@.
|
| -
|
| -In principle, @option{--enable-threads} is now compatible with
|
| -@option{--enable-libgcj} on FreeBSD@. However, it has only been built
|
| -and tested on @samp{i386-*-freebsd[45]} and @samp{alpha-*-freebsd[45]}.
|
| -The static
|
| -library may be incorrectly built (symbols are missing at link time).
|
| -There is a rare timing-based startup hang (probably involves an
|
| -assumption about the thread library). Multi-threaded boehm-gc (required for
|
| -libjava) exposes severe threaded signal-handling bugs on FreeBSD before
|
| -4.5-RELEASE@. Other CPU architectures
|
| -supported by FreeBSD will require additional configuration tuning in, at
|
| -the very least, both boehm-gc and libffi.
|
| -
|
| -Shared @file{libgcc_s.so} is now built and installed by default.
|
| +debugging formats. Otherwise, this release of GCC should now match
|
| +more of the configuration used in the stock FreeBSD configuration of
|
| +GCC@. In particular, @option{--enable-threads} is now configured by
|
| +default. However, as a general user, do not attempt to replace the
|
| +system compiler with this release. Known to bootstrap and check with
|
| +good results on FreeBSD 7.2-STABLE@. In the past, known to bootstrap
|
| +and check with good results on FreeBSD 3.0, 3.4, 4.0, 4.2, 4.3, 4.4,
|
| +4.5, 4.8, 4.9 and 5-CURRENT@.
|
| +
|
| +The version of binutils installed in @file{/usr/bin} probably works
|
| +with this release of GCC@. Bootstrapping against the latest GNU
|
| +binutils and/or the version found in @file{/usr/ports/devel/binutils} has
|
| +been known to enable additional features and improve overall testsuite
|
| +results. However, it is currently known that boehm-gc (which itself
|
| +is required for java) may not configure properly on FreeBSD prior to
|
| +the FreeBSD 7.0 release with GNU binutils after 2.16.1.
|
|
|
| @html
|
| <hr />
|
| @@ -3265,14 +3468,52 @@ found on @uref{http://www.bitwizard.nl/sig11/,,www.bitwizard.nl}.
|
| @html
|
| <hr />
|
| @end html
|
| +@heading @anchor{ix86-x-solaris289}i?86-*-solaris2.[89]
|
| +The Sun assembler in Solaris 8 and 9 has several bugs and limitations.
|
| +While GCC works around them, several features are missing, so it is
|
| +@c FIXME: which ones?
|
| +recommended to use the GNU assembler instead. There is no bundled
|
| +version, but the current version, from GNU binutils 2.20.1, is known to
|
| +work.
|
| +
|
| +Solaris~2/x86 doesn't support the execution of SSE/SSE2 instructions
|
| +before Solaris~9 4/04, even if the CPU supports them. Programs will
|
| +receive @code{SIGILL} if they try. The fix is available both in
|
| +Solaris~9 Update~6 and kernel patch 112234-12 or newer. There is no
|
| +corresponding patch for Solaris 8. To avoid this problem,
|
| +@option{-march} defaults to @samp{pentiumpro} on Solaris 8 and 9. If
|
| +you have the patch installed, you can configure GCC with an appropriate
|
| +@option{--with-arch} option, but need GNU @command{as} for SSE2 support.
|
| +
|
| +@html
|
| +<hr />
|
| +@end html
|
| @heading @anchor{ix86-x-solaris210}i?86-*-solaris2.10
|
| Use this for Solaris 10 or later on x86 and x86-64 systems. This
|
| -configuration is supported by GCC 4.0 and later versions only.
|
| -
|
| -It is recommended that you configure GCC to use the GNU assembler in
|
| -@file{/usr/sfw/bin/gas} but the Sun linker, using the options
|
| -@option{--with-gnu-as --with-as=/usr/sfw/bin/gas --without-gnu-ld
|
| ---with-ld=/usr/ccs/bin/ld}.
|
| +configuration is supported by GCC 4.0 and later versions only. Unlike
|
| +@samp{sparcv9-sun-solaris2*}, there is no corresponding 64-bit
|
| +configuration like @samp{amd64-*-solaris2*} or @samp{x86_64-*-solaris2*}.
|
| +@c FIXME: will there ever be?
|
| +
|
| +It is recommended that you configure GCC to use the GNU assembler, in
|
| +@file{/usr/sfw/bin/gas}. The versions included in Solaris 10, from GNU
|
| +binutils 2.15, and Solaris 11, from GNU binutils 2.19, work fine,
|
| +although the current version, from GNU binutils
|
| +2.20.1, is known to work, too. Recent versions of the Sun assembler in
|
| +@file{/usr/ccs/bin/as} work almost as well, though.
|
| +@c FIXME: as patch requirements?
|
| +
|
| +For linking, the Sun linker, is preferred. If you want to use the GNU
|
| +linker instead, which is available in @file{/usr/sfw/bin/gld}, note that
|
| +due to a packaging bug the version in Solaris 10, from GNU binutils
|
| +2.15, cannot be used, while the version in Solaris 11, from GNU binutils
|
| +2.19, works, as does the latest version, from GNU binutils 2.20.1.
|
| +
|
| +To use GNU @command{as}, configure with the options
|
| +@option{--with-gnu-as --with-as=/usr/sfw/bin/gas}. It may be necessary
|
| +to configure with @option{--without-gnu-ld --with-ld=/usr/ccs/bin/ld} to
|
| +guarantee use of Sun @command{ld}.
|
| +@c FIXME: why --without-gnu-ld --with-ld?
|
|
|
| @html
|
| <hr />
|
| @@ -3314,11 +3555,26 @@ removed and the system libunwind library will always be used.
|
| @end html
|
| @heading @anchor{x-ibm-aix}*-ibm-aix*
|
| Support for AIX version 3 and older was discontinued in GCC 3.4.
|
| +Support for AIX version 4.2 and older was discontinued in GCC 4.5.
|
|
|
| ``out of memory'' bootstrap failures may indicate a problem with
|
| process resource limits (ulimit). Hard limits are configured in the
|
| @file{/etc/security/limits} system configuration file.
|
|
|
| +GCC can bootstrap with recent versions of IBM XLC, but bootstrapping
|
| +with an earlier release of GCC is recommended. Bootstrapping with XLC
|
| +requires a larger data segment, which can be enabled through the
|
| +@var{LDR_CNTRL} environment variable, e.g.,
|
| +
|
| +@smallexample
|
| + % LDR_CNTRL=MAXDATA=0x50000000
|
| + % export LDR_CNTRL
|
| +@end smallexample
|
| +
|
| +One can start with a pre-compiled version of GCC to build from
|
| +sources. One may delete GCC's ``fixed'' header files when starting
|
| +with a version of GCC built for an earlier release of AIX.
|
| +
|
| To speed up the configuration phases of bootstrapping and installing GCC,
|
| one may use GNU Bash instead of AIX @command{/bin/sh}, e.g.,
|
|
|
| @@ -3348,16 +3604,14 @@ If this error occurs during stage2 or later, then the problem most likely
|
| is the version of Make (see above).
|
|
|
| The native @command{as} and @command{ld} are recommended for bootstrapping
|
| -on AIX 4 and required for bootstrapping on AIX 5L@. The GNU Assembler
|
| -reports that it supports WEAK symbols on AIX 4, which causes GCC to try to
|
| -utilize weak symbol functionality although it is not supported. The GNU
|
| -Assembler and Linker do not support AIX 5L sufficiently to bootstrap GCC@.
|
| -The native AIX tools do interoperate with GCC@.
|
| +on AIX@. The GNU Assembler, GNU Linker, and GNU Binutils version 2.20
|
| +is required to bootstrap on AIX 5@. The native AIX tools do
|
| +interoperate with GCC@.
|
|
|
| Building @file{libstdc++.a} requires a fix for an AIX Assembler bug
|
| APAR IY26685 (AIX 4.3) or APAR IY25528 (AIX 5.1). It also requires a
|
| fix for another AIX Assembler bug and a co-dependent AIX Archiver fix
|
| -referenced as APAR IY53606 (AIX 5.2) or a APAR IY54774 (AIX 5.1)
|
| +referenced as APAR IY53606 (AIX 5.2) or as APAR IY54774 (AIX 5.1)
|
|
|
| @samp{libstdc++} in GCC 3.4 increments the major version number of the
|
| shared object and GCC installation places the @file{libstdc++.a}
|
| @@ -3434,9 +3688,6 @@ GCC does not produce the same floating-point formats that the assembler
|
| expects. If one encounters this problem, set the @env{LANG}
|
| environment variable to @samp{C} or @samp{En_US}.
|
|
|
| -By default, GCC for AIX 4.1 and above produces code that can be used on
|
| -both Power or PowerPC processors.
|
| -
|
| A default can be specified with the @option{-mcpu=@var{cpu_type}}
|
| switch and using the configure option @option{--with-cpu-@var{cpu_type}}.
|
|
|
| @@ -3450,6 +3701,20 @@ applications. There are no standard Unix configurations.
|
| @html
|
| <hr />
|
| @end html
|
| +@heading @anchor{lm32-x-elf}lm32-*-elf
|
| +Lattice Mico32 processor.
|
| +This configuration is intended for embedded systems.
|
| +
|
| +@html
|
| +<hr />
|
| +@end html
|
| +@heading @anchor{lm32-x-uclinux}lm32-*-uclinux
|
| +Lattice Mico32 processor.
|
| +This configuration is intended for embedded systems running uClinux.
|
| +
|
| +@html
|
| +<hr />
|
| +@end html
|
| @heading @anchor{m32c-x-elf}m32c-*-elf
|
| Renesas M32C processor.
|
| This configuration is intended for embedded systems.
|
| @@ -3479,7 +3744,7 @@ applications. There are no standard Unix configurations.
|
| <hr />
|
| @end html
|
| @heading @anchor{m68k-x-x}m68k-*-*
|
| -By default, @samp{m68k-*-aout}, @samp{m68k-*-coff*},
|
| +By default,
|
| @samp{m68k-*-elf*}, @samp{m68k-*-rtems}, @samp{m68k-*-uclinux} and
|
| @samp{m68k-*-linux}
|
| build libraries for both M680x0 and ColdFire processors. If you only
|
| @@ -3512,6 +3777,14 @@ both of which were ABI changes. However, you can still use the
|
| original ABI by configuring for @samp{m68k-uclinuxoldabi} or
|
| @samp{m68k-@var{vendor}-uclinuxoldabi}.
|
|
|
| +
|
| +@html
|
| +<hr />
|
| +@end html
|
| +@heading @anchor{mep-x-elf}mep-*-elf
|
| +Toshiba Media embedded Processor.
|
| +This configuration is intended for embedded systems.
|
| +
|
| @html
|
| <hr />
|
| @end html
|
| @@ -3575,36 +3848,61 @@ 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 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{ftp://ftp.sgi.com/sgi/IRIX5.3/iris-development-option-5.3.tardist}.
|
| +@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},
|
| +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?
|
|
|
| -Some users have reported that @command{/bin/sh} will hang during bootstrap.
|
| -This problem can be avoided by running the commands:
|
| +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=/bin/ksh
|
| + % CONFIG_SHELL=/usr/local/bin/bash
|
| % export CONFIG_SHELL
|
| + % $CONFIG_SHELL @var{srcdir}/configure [@var{options}]
|
| @end smallexample
|
|
|
| -before starting the build.
|
| +@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 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, you need the IRIX Development Foundation
|
| +(IDF) and IRIX Development Libraries (IDL). They are included with the
|
| +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
|
| file with @command{cc} and then run @command{file} on the
|
| @@ -3614,18 +3912,21 @@ resulting object file. The output should look like:
|
| test.o: ELF N32 MSB @dots{}
|
| @end smallexample
|
|
|
| +@noindent
|
| If you see:
|
|
|
| @smallexample
|
| test.o: ELF 32-bit MSB @dots{}
|
| @end smallexample
|
|
|
| +@noindent
|
| or
|
|
|
| @smallexample
|
| test.o: ELF 64-bit MSB @dots{}
|
| @end smallexample
|
|
|
| +@noindent
|
| then your version of @command{cc} uses the O32 or N64 ABI by default. You
|
| should set the environment variable @env{CC} to @samp{cc -n32}
|
| before configuring GCC@.
|
| @@ -3642,12 +3943,14 @@ all on @samp{mips3}-only systems. For the test program above, you should see:
|
| test.o: ELF N32 MSB mips-3 @dots{}
|
| @end smallexample
|
|
|
| +@noindent
|
| If you get:
|
|
|
| @smallexample
|
| test.o: ELF N32 MSB mips-4 @dots{}
|
| @end smallexample
|
|
|
| +@noindent
|
| instead, you should set the environment variable @env{CC} to @samp{cc
|
| -n32 -mips3} or @samp{gcc -mips3} respectively before configuring GCC@.
|
|
|
| @@ -3663,9 +3966,9 @@ try to use them. This will disable building the O32 libraries, too.
|
| Look for @file{/usr/lib64/libc.so.1} to see if you
|
| have the 64-bit libraries installed.
|
|
|
| -To enable debugging for the O32 ABI, you must use GNU @command{as} from
|
| -GNU binutils 2.15 or later. You may also use GNU @command{ld}, but
|
| -this is not required and currently causes some problems with Ada.
|
| +GCC must be configured with GNU @command{as}. The latest version, from GNU
|
| +binutils 2.20.1, is known to work. On the other hand, bootstrap fails
|
| +with GNU @command{ld} at least since GNU binutils 2.17.
|
|
|
| The @option{--enable-libgcj}
|
| option is disabled by default: IRIX 6 uses a very low default limit
|
| @@ -3675,14 +3978,19 @@ to build despite this, running into an internal error of the native
|
| @command{ld}. A sure fix is to increase this limit (@samp{ncargs}) to
|
| its maximum of 262144 bytes. If you have root access, you can use the
|
| @command{systune} command to do this.
|
| +@c FIXME: does this work with current libtool?
|
|
|
| @code{wchar_t} support in @samp{libstdc++} is not available for old
|
| IRIX 6.5.x releases, @math{x < 19}. The problem cannot be autodetected
|
| and in order to build GCC for such targets you need to configure with
|
| @option{--disable-wchar_t}.
|
|
|
| -See @uref{http://freeware.sgi.com/} for more
|
| -information about using GCC on IRIX platforms.
|
| +@html
|
| +<hr />
|
| +@end html
|
| +@heading @anchor{moxie-x-elf}moxie-*-elf
|
| +The moxie processor. See @uref{http://moxielogic.org/} for more
|
| +information about this processor.
|
|
|
| @html
|
| <hr />
|
| @@ -3767,6 +4075,14 @@ Embedded PowerPC system in little endian mode.
|
| @html
|
| <hr />
|
| @end html
|
| +@heading @anchor{rx-x-elf}rx-*-elf
|
| +The Renesas RX processor. See
|
| +@uref{http://eu.renesas.com/fmwk.jsp?cnt=rx600_series_landing.jsp&fp=/products/mpumcu/rx_family/rx600_series}
|
| +for more information about this processor.
|
| +
|
| +@html
|
| +<hr />
|
| +@end html
|
| @heading @anchor{s390-x-linux}s390-*-linux*
|
| S/390 system running GNU/Linux for S/390@.
|
|
|
| @@ -3792,12 +4108,18 @@ supported as cross-compilation target only.
|
| @c alone is too unspecific and must be avoided.
|
| @heading @anchor{x-x-solaris2}*-*-solaris2*
|
|
|
| -Sun does not ship a C compiler with Solaris 2. To bootstrap and install
|
| -GCC you first have to install a pre-built compiler, see the
|
| +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
|
| +@uref{http://developers.sun.com/sunstudio/downloads/}. Alternatively,
|
| +you can install a pre-built GCC to bootstrap and install GCC. See the
|
| @uref{binaries.html,,binaries page} for details.
|
|
|
| The Solaris 2 @command{/bin/sh} will often fail to configure
|
| -@file{libstdc++-v3}, @file{boehm-gc} or @file{libjava}. We therefore
|
| +@samp{libstdc++-v3}, @samp{boehm-gc} or @samp{libjava}. We therefore
|
| recommend using the following initial sequence of commands
|
|
|
| @smallexample
|
| @@ -3805,9 +4127,10 @@ recommend using the following initial sequence of commands
|
| % export CONFIG_SHELL
|
| @end smallexample
|
|
|
| +@noindent
|
| and proceed as described in @uref{configure.html,,the configure instructions}.
|
| In addition we strongly recommend specifying an absolute path to invoke
|
| -@var{srcdir}/configure.
|
| +@command{@var{srcdir}/configure}.
|
|
|
| Solaris 2 comes with a number of optional OS packages. Some of these
|
| are needed to use GCC fully, namely @code{SUNWarc},
|
| @@ -3830,37 +4153,30 @@ The build process works more smoothly with the legacy Sun tools so, if you
|
| have @file{/usr/xpg4/bin} in your @env{PATH}, we recommend that you place
|
| @file{/usr/bin} before @file{/usr/xpg4/bin} for the duration of the build.
|
|
|
| -We recommend the use of GNU binutils 2.14 or later, or the vendor tools
|
| -(Sun @command{as}, Sun @command{ld}). Note that your mileage may vary
|
| +We recommend the use of the Sun assembler or the GNU assembler, in
|
| +conjunction with the Sun linker. The GNU @command{as}
|
| +versions included in Solaris 10, from GNU binutils 2.15, and Solaris 11,
|
| +from GNU binutils 2.19, are known to work. They can be found in
|
| +@file{/usr/sfw/bin/gas}. Current versions of GNU binutils (2.20.1)
|
| +are known to work as well. Note that your mileage may vary
|
| if you use a combination of the GNU tools and the Sun tools: while the
|
| combination GNU @command{as} + Sun @command{ld} should reasonably work,
|
| the reverse combination Sun @command{as} + GNU @command{ld} is known to
|
| cause memory corruption at runtime in some cases for C++ programs.
|
| -
|
| -The stock GNU binutils 2.15 release is broken on this platform because of a
|
| -single bug. It has been fixed on the 2.15 branch in the CVS repository.
|
| -You can obtain a working version by checking out the binutils-2_15-branch
|
| -from the CVS repository or applying the patch
|
| -@uref{http://sourceware.org/ml/binutils-cvs/2004-09/msg00036.html} to the
|
| -release.
|
| -
|
| -We recommend the use of GNU binutils 2.16 or later in conjunction with GCC
|
| -4.x, or the vendor tools (Sun @command{as}, Sun @command{ld}). However,
|
| -for Solaris 10 and above, an additional patch is required in order for the
|
| -GNU linker to be able to cope with a new flavor of shared libraries. You
|
| -can obtain a working version by checking out the binutils-2_16-branch from
|
| -the CVS repository or applying the patch
|
| -@uref{http://sourceware.org/ml/binutils-cvs/2005-07/msg00122.html} to the
|
| -release.
|
| +@c FIXME: still?
|
| +GNU @command{ld} usually works as well, although the version included in
|
| +Solaris 10 cannot be used due to several bugs. Again, the current
|
| +version (2.20.1) is known to work, but generally lacks platform specific
|
| +features, so better stay with Sun @command{ld}.
|
|
|
| Sun bug 4296832 turns up when compiling X11 headers with GCC 2.95 or
|
| newer: @command{g++} will complain that types are missing. These headers
|
| assume that omitting the type means @code{int}; this assumption worked for
|
| -C89 but is wrong for C++, and is now wrong for C99 also.
|
| +C90 but is wrong for C++, and is now wrong for C99 also.
|
|
|
| @command{g++} accepts such (invalid) constructs with the option
|
| @option{-fpermissive}; it will assume that any missing type is @code{int}
|
| -(as defined by C89).
|
| +(as defined by C90).
|
|
|
| There are patches for Solaris 7 (108376-21 or newer for SPARC,
|
| 108377-20 for Intel), and Solaris 8 (108652-24 or newer for SPARC,
|
| @@ -3882,7 +4198,7 @@ SPARC, 117172-11 or newer for Intel) that address this problem.
|
| @end html
|
| @heading @anchor{sparc-sun-solaris2}sparc-sun-solaris2*
|
|
|
| -When GCC is configured to use binutils 2.14 or later the binaries
|
| +When GCC is configured to use GNU binutils 2.14 or later, the binaries
|
| produced are smaller than the ones produced using Sun's native tools;
|
| this difference is quite significant for binaries containing debugging
|
| information.
|
| @@ -3912,10 +4228,10 @@ and 5.5 (Sun ONE Studio 8) of the Sun compiler, which causes a bootstrap
|
| failure in form of a miscompilation of the stage1 compiler by the Sun
|
| compiler. This is Sun bug 4974440. This is fixed with patch 112760-07.
|
|
|
| -GCC 3.4 changed the default debugging format from STABS to DWARF-2 for
|
| +GCC 3.4 changed the default debugging format from Stabs to DWARF-2 for
|
| 32-bit code on Solaris 7 and later. If you use the Sun assembler, this
|
| change apparently runs afoul of Sun bug 4910101 (which is referenced as
|
| -a x86-only problem by Sun, probably because they do not use DWARF-2).
|
| +an x86-only problem by Sun, probably because they do not use DWARF-2).
|
| A symptom of the problem is that you cannot compile C++ programs like
|
| @command{groff} 1.19.1 without getting messages similar to the following:
|
|
|
| @@ -3925,13 +4241,14 @@ ld: warning: relocation error: R_SPARC_UA32: @dots{}
|
| .debug_info cannot be processed at runtime: relocation ignored.
|
| @end smallexample
|
|
|
| +@noindent
|
| To work around this problem, compile with @option{-gstabs+} instead of
|
| plain @option{-g}.
|
|
|
| When configuring the GNU Multiple Precision Library (GMP) or the MPFR
|
| library on a Solaris 7 or later system, the canonical target triplet
|
| must be specified as the @command{build} parameter on the configure
|
| -line. This triplet can be obtained by invoking ./config.guess in
|
| +line. This triplet can be obtained by invoking @command{./config.guess} in
|
| the toplevel source directory of GCC (and not that of GMP or MPFR).
|
| For example on a Solaris 7 system:
|
|
|
| @@ -3944,6 +4261,9 @@ For example on a Solaris 7 system:
|
| @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
|
| @@ -3981,13 +4301,14 @@ the Solaris 7 Recommended Patch Cluster.
|
|
|
| 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
|
| -libgcc. A typical error message is:
|
| +@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
|
| @@ -3999,11 +4320,28 @@ ld: fatal: relocation error: R_SPARC_DISP32:
|
| 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
|
| +thread-local storage (TLS). A typical error message is
|
| +
|
| +@smallexample
|
| +ld: fatal: relocation error: R_SPARC_TLS_LE_HIX22: file /var/tmp//ccamPA1v.o:
|
| + symbol <unknown>: bad symbol type SECT: symbol type must be TLS
|
| +@end smallexample
|
| +
|
| +@noindent
|
| +This bug is fixed in Sun patch 118683-03 or later.
|
| +
|
| +@html
|
| +<hr />
|
| +@end html
|
| @heading @anchor{sparc-x-linux}sparc-*-linux*
|
|
|
| GCC versions 3.0 and higher require binutils 2.11.2 and glibc 2.2.4
|
| @@ -4032,6 +4370,7 @@ step in order to bootstrap this target with the Sun compiler:
|
| % CC="cc -xarch=v9 -xildoff" @var{srcdir}/configure [@var{options}] [@var{target}]
|
| @end smallexample
|
|
|
| +@noindent
|
| @option{-xarch=v9} specifies the SPARC-V9 architecture to the Sun toolchain
|
| and @option{-xildoff} turns off the incremental linker.
|
|
|
| @@ -4040,7 +4379,7 @@ and @option{-xildoff} turns off the incremental linker.
|
| @end html
|
| @heading @anchor{sparcv9-x-solaris2}sparcv9-*-solaris2*
|
|
|
| -This is a synonym for sparc64-*-solaris2*.
|
| +This is a synonym for @samp{sparc64-*-solaris2*}.
|
|
|
| @html
|
| <hr />
|
| @@ -4141,7 +4480,7 @@ and which C libraries are used.
|
| Linux API emulation layer in the Win32 subsystem.
|
| @item Interix @uref{#x-x-interix,,*-*-interix}: The Interix subsystem
|
| provides native support for POSIX.
|
| -@item MinGW @uref{#x-x-mingw,,*-*-mingw}: MinGW is a native GCC port for
|
| +@item MinGW @uref{#x-x-mingw32,,*-*-mingw32}: MinGW is a native GCC port for
|
| the Win32 subsystem that provides a subset of POSIX.
|
| @item MKS i386-pc-mks: NuTCracker from MKS. See
|
| @uref{http://www.mkssoftware.com/} for more information.
|
| @@ -4185,7 +4524,11 @@ Ports of GCC are included with the
|
| GCC will build under Cygwin without modification; it does not build
|
| with Microsoft's C++ compiler and there are no plans to make it do so.
|
|
|
| -Cygwin can be compiled with i?86-pc-cygwin.
|
| +The Cygwin native compiler can be configured to target any 32-bit x86
|
| +cpu architecture desired; the default is i686-pc-cygwin. It should be
|
| +used with as up-to-date a version of binutils as possible; use either
|
| +the latest official GNU binutils release in the Cygwin distribution,
|
| +or version 2.20 or above if building your own.
|
|
|
| @html
|
| <hr />
|
| @@ -4211,15 +4554,6 @@ of @code{extern inline} in @code{-std=c99} and @code{-std=gnu99} modes.
|
| @html
|
| <hr />
|
| @end html
|
| -@heading @anchor{os2}OS/2
|
| -
|
| -GCC does not currently support OS/2. However, Andrew Zabolotny has been
|
| -working on a generic OS/2 port with pgcc. The current code can be found
|
| -at @uref{http://www.goof.com/pcg/os2/,,http://www.goof.com/pcg/os2/}.
|
| -
|
| -@html
|
| -<hr />
|
| -@end html
|
| @heading @anchor{older}Older systems
|
|
|
| GCC contains support files for many older (1980s and early
|
|
|