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
-recent releases of Solaris 11 does work, previous ones don't yet.
+Solaris 2 does work.
The @option{--with-libelf} configure option should be used if libelf is
not installed in your default library search patch.
Necessary when modifying @file{configure.ac}, @file{aclocal.m4}, etc.@:
to regenerate @file{configure} and @file{config.in} files.
-@item automake version 1.11
+@item automake version 1.11.1
Necessary when modifying a @file{Makefile.am} file to regenerate its
associated @file{Makefile.in}.
as any of their subdirectories.
For directories that use automake, GCC requires the latest release in
-the 1.11 series, which is currently 1.11. When regenerating a directory
+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.
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
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
add @code{-lunicows} to @file{libgcj.spec}. The built executables will
only run on Microsoft Windows NT and above.
@end table
-
-@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
@subsubheading AWT-Specific Options
@item
@uref{#alpha-x-x,,alpha*-*-*}
@item
-@uref{#alpha-dec-osf,,alpha*-dec-osf*}
+@uref{#alpha-dec-osf51,,alpha*-dec-osf5.1}
@item
@uref{#arc-x-elf,,arc-*-elf}
@item
@item
@uref{#sparc-sun-solaris2,,sparc-sun-solaris2*}
@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*}
@html
<hr />
@end html
-@heading @anchor{alpha-dec-osf}alpha*-dec-osf*
+@heading @anchor{alpha-dec-osf51}alpha*-dec-osf5.1
Systems using processors that implement the DEC Alpha architecture and
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.) 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.
+OSF/1.) As of GCC 4.6, support for Tru64 UNIX V4.0 and V5.0 has been
+removed.
On Tru64 UNIX, virtual memory exhausted bootstrap failures
may be fixed by reconfiguring Kernel Virtual Memory and Swap parameters
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 latest (as of 2010-04-01) version, from GNU binutils
+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?
@c alone is too unspecific and must be avoided.
@heading @anchor{x-x-solaris2}*-*-solaris2*
-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.
+Support for Solaris 7 has been 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
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 the vendor tools (Sun @command{as}, Sun
-@command{ld}), or eventually GNU @command{as}. The GNU @command{as}
+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 as of
-2010-04-01) are known work either. Note that your mileage may vary
+@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.
@c FIXME: still?
-GNU @command{ld} usually works either, though the version included in
+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}.
@option{-fpermissive}; it will assume that any missing type is @code{int}
(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,
+There are patches for Solaris 8 (108652-24 or newer for SPARC,
108653-22 for Intel) that fix this bug.
Sun bug 4927647 sometimes causes random spurious testsuite failures
must be specified as the @command{build} parameter on the configure
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:
+For example on a Solaris 9 system:
@smallexample
- % ./configure --build=sparc-sun-solaris2.7 --prefix=xxx
+ % ./configure --build=sparc-sun-solaris2.9 --prefix=xxx
@end smallexample
@html
<hr />
@end html
-@heading @anchor{sparc-sun-solaris27}sparc-sun-solaris2.7
-
-@emph{Note} that this configuration has been obsoleted in GCC 4.5, and will be
-removed in GCC 4.6.
-
-Sun patch 107058-01 (1999-01-13) for Solaris 7/SPARC triggers a bug in
-the dynamic linker. This problem (Sun bug 4210064) affects GCC 2.8
-and later, including all EGCS releases. Sun formerly recommended
-107058-01 for all Solaris 7 users, but around 1999-09-01 it started to
-recommend it only for people who use Sun's compilers.
-
-Here are some workarounds to this problem:
-@itemize @bullet
-@item
-Do not install Sun patch 107058-01 until after Sun releases a
-complete patch for bug 4210064. This is the simplest course to take,
-unless you must also use Sun's C compiler. Unfortunately 107058-01
-is preinstalled on some new Solaris 7-based hosts, so you may have to
-back it out.
-
-@item
-Copy the original, unpatched Solaris 7
-@command{/usr/ccs/bin/as} into
-@command{/usr/local/libexec/gcc/sparc-sun-solaris2.7/3.4/as},
-adjusting the latter name to fit your local conventions and software
-version numbers.
-
-@item
-Install Sun patch 106950-03 (1999-05-25) or later. Nobody with
-both 107058-01 and 106950-03 installed has reported the bug with GCC
-and Sun's dynamic linker. This last course of action is riskiest,
-for two reasons. First, you must install 106950 on all hosts that
-run code generated by GCC; it doesn't suffice to install it only on
-the hosts that run GCC itself. Second, Sun says that 106950-03 is
-only a partial fix for bug 4210064, but Sun doesn't know whether the
-partial fix is adequate for GCC@. Revision -08 or later should fix
-the bug. The current (as of 2004-05-23) revision is -24, and is included in
-the Solaris 7 Recommended Patch Cluster.
-@end itemize
-
-GCC 3.3 triggers a bug in version 5.0 Alpha 03/27/98 of the Sun assembler,
-which causes a bootstrap failure when linking the 64-bit shared version of
-@samp{libgcc}. A typical error message is:
-
-@smallexample
-ld: fatal: relocation error: R_SPARC_32: file libgcc/sparcv9/_muldi3.o:
- symbol <unknown>: offset 0xffffffff7ec133e7 is non-aligned.
-@end smallexample
-
-@noindent
-This bug has been fixed in the final 5.0 version of the assembler.
-
-A similar problem was reported for version Sun WorkShop 6 99/08/18 of the
-Sun assembler, which causes a bootstrap failure with GCC 4.0.0:
-
-@smallexample
-ld: fatal: relocation error: R_SPARC_DISP32:
- file .libs/libstdc++.lax/libsupc++convenience.a/vterminate.o:
- symbol <unknown>: offset 0xfccd33ad is non-aligned
-@end smallexample
-
-@noindent
-This bug has been fixed in more recent revisions of the assembler.
-
-@html
-<hr />
-@end html
@heading @anchor{sparc-sun-solaris210}sparc-sun-solaris2.10
There is a bug in older versions of the Sun assembler which breaks
When configuring the GNU Multiple Precision Library (GMP) or the
MPFR library, the canonical target triplet must be specified as
the @command{build} parameter on the configure line. For example
-on a Solaris 7 system:
+on a Solaris 9 system:
@smallexample
- % ./configure --build=sparc64-sun-solaris2.7 --prefix=xxx
+ % ./configure --build=sparc64-sun-solaris2.9 --prefix=xxx
@end smallexample
The following compiler flags must be specified in the configure