diff options
Diffstat (limited to 'contrib/gcc/doc/install.texi')
-rw-r--r-- | contrib/gcc/doc/install.texi | 638 |
1 files changed, 332 insertions, 306 deletions
diff --git a/contrib/gcc/doc/install.texi b/contrib/gcc/doc/install.texi index e9f8bee..350d365 100644 --- a/contrib/gcc/doc/install.texi +++ b/contrib/gcc/doc/install.texi @@ -123,9 +123,6 @@ Free Documentation License}''. @node Installing GCC, Binaries, , Top @end ifnothtml @ifset indexhtml -@html -<h1 align="center">Installing GCC</h1> -@end html @ifnothtml @chapter Installing GCC @end ifnothtml @@ -151,11 +148,7 @@ We recommend you browse the entire generic installation instructions before you proceed. Lists of successful builds for released versions of GCC are -available at our web pages for -@uref{http://gcc.gnu.org/gcc-3.1/buildstat.html,,3.1}, -@uref{http://gcc.gnu.org/gcc-3.0/buildstat.html,,3.0} -and -@uref{http://gcc.gnu.org/gcc-2.95/buildstat.html,,2.95}. +available at @uref{http://gcc.gnu.org/buildstat.html}. These lists are updated as new information becomes available. The installation procedure itself is broken into five steps. @@ -198,7 +191,7 @@ not yet been merged into the main part of this manual. @end ifhtml @html -<hr> +<hr /> <p> @end html @ifhtml @@ -214,9 +207,6 @@ not yet been merged into the main part of this manual. @node Downloading the source, Configuration, , Installing GCC @end ifnothtml @ifset downloadhtml -@html -<h1 align="center">Downloading GCC</h1> -@end html @ifnothtml @chapter Downloading GCC @end ifnothtml @@ -255,7 +245,7 @@ components of the binutils you intend to build alongside the compiler @file{opcodes}, @dots{}) to the directory containing the GCC sources. @html -<hr> +<hr /> <p> @end html @ifhtml @@ -269,9 +259,6 @@ components of the binutils you intend to build alongside the compiler @node Configuration, Building, Downloading the source, Installing GCC @end ifnothtml @ifset configurehtml -@html -<h1 align="center">Installing GCC: Configuration</h1> -@end html @ifnothtml @chapter Installing GCC: Configuration @end ifnothtml @@ -368,7 +355,6 @@ subdirectory of @var{objdir} or vice versa. These additional options control where certain parts of the distribution are installed. Normally you should not need to use these options. @table @code - @item --exec-prefix=@var{dirname} Specify the toplevel installation directory for architecture-dependent files. The default is @file{@var{prefix}}. @@ -435,9 +421,9 @@ complex conversion patterns. As a basic rule, @var{prefix} (and @var{suffix}) are prepended (appended) before further transformations can happen with a special transformation script @var{pattern}. -As currently implemented, this options only take effect for native +As currently implemented, these options only take effect for native builds; cross compiler binaries' names are not transformed even when a -transformation is explicitly asked for by one of this options. +transformation is explicitly asked for by one of these options. For native builds, some of the installed programs are also installed with the target alias in front of their name, as in @@ -473,12 +459,49 @@ any in that directory---are not part of GCC@. They are part of other programs---perhaps many others. (GCC installs its own header files in another directory which is based on the @option{--prefix} value.) +Both the local-prefix include directory and the GCC-prefix include +directory are part of GCC's "system include" directories. Although these +two directories are not fixed, they need to be searched in the proper +order for the correct processing of the include_next directive. The +local-prefix include directory is searched before the GCC-prefix +include directory. Another characteristic of system include directories +is that pedantic warnings are turned off for headers in these directories. + +Some autoconf macros add @option{-I @var{directory}} options to the +compiler command line, to ensure that directories containing installed +packages' headers are searched. When @var{directory} is one of GCC's +system include directories, GCC will ignore the option so that system +directories continue to be processed in the correct order. This +may result in a search order different from what was specified but the +directory will still be searched. + +GCC automatically searches for ordinary libraries using +@env{GCC_EXEC_PREFIX}. Thus, when the same installation prefix is +used for both GCC and packages, GCC will automatically search for +both headers and libraries. This provides a configuration that is +easy to use. GCC behaves in a manner similar to that when it is +installed as a system compiler in @file{/usr}. + +Sites that need to install multiple versions of GCC may not want to +use the above simple configuration. It is possible to use the +@option{--program-prefix}, @option{--program-suffix} and +@option{--program-transform-name} options to install multiple versions +into a single directory, but it may be simpler to use different prefixes +and the @option{--with-local-prefix} option to specify the location of the +site-specific files for each version. It will then be necessary for +users to specify explicitly the location of local site libraries +(e.g., with @env{LIBRARY_PATH}). + +The same value can be used for both @option{--with-local-prefix} and +@option{--prefix} provided it is not @file{/usr}. This can be used +to avoid the default search of @file{/usr/local/include}. + @strong{Do not} specify @file{/usr} as the @option{--with-local-prefix}! The directory you use for @option{--with-local-prefix} @strong{must not} contain any of the system's standard header files. If it did contain them, certain programs would be miscompiled (including GNU Emacs, on certain targets), because this would override and nullify the header -file corrections made by the @code{fixincludes} script. +file corrections made by the @command{fixincludes} script. Indications are that people who use this option use it based on mistaken ideas of what it is for. People use it as if it specified where to @@ -516,15 +539,25 @@ configured with @option{--with-gnu-as}.) If you have more than one assembler installed on your system, you may want to use this option in connection with @option{--with-as=@var{pathname}}. -The systems where it makes a difference whether you use the GNU assembler are -@samp{hppa1.0-@var{any}-@var{any}}, @samp{hppa1.1-@var{any}-@var{any}}, -@samp{i386-@var{any}-sysv}, @samp{i386-@var{any}-isc}, -@samp{i860-@var{any}-bsd}, @samp{m68k-bull-sysv}, -@samp{m68k-hp-hpux}, @samp{m68k-sony-bsd}, -@samp{m68k-altos-sysv}, @samp{m68000-hp-hpux}, -@samp{m68000-att-sysv}, @samp{@var{any}-lynx-lynxos}, -and @samp{mips-@var{any}}. -On any other system, @option{--with-gnu-as} has no effect. +The following systems are the only ones where it makes a difference +whether you use the GNU assembler. On any other system, +@option{--with-gnu-as} has no effect. + +@itemize bullet +@item @samp{hppa1.0-@var{any}-@var{any}} +@item @samp{hppa1.1-@var{any}-@var{any}} +@item @samp{i386-@var{any}-sysv} +@item @samp{i386-@var{any}-isc} +@item @samp{i860-@var{any}-bsd} +@item @samp{m68k-bull-sysv} +@item @samp{m68k-hp-hpux} +@item @samp{m68k-sony-bsd} +@item @samp{m68k-altos-sysv} +@item @samp{m68000-hp-hpux} +@item @samp{m68000-att-sysv} +@item @samp{@var{any}-lynx-lynxos} +@item @samp{mips-@var{any}} +@end itemize On the systems listed above (except for the HP-PA, for ISC on the 386, and for @samp{mips-sgi-irix5.*}), if you use the GNU assembler, @@ -601,7 +634,6 @@ predefined set of them. Some targets provide finer-grained control over which multilibs are built (e.g., @option{--disable-softfloat}): @table @code - @item arc-*-elf* biendian. @@ -829,10 +861,10 @@ Some options which only apply to building cross compilers: @item --with-headers=@var{dir} Specifies a directory which has target include files. -@emph{This options is required} when building a cross +@emph{This option is required} when building a cross compiler, if @file{@var{prefix}/@var{target}/sys-include} doesn't pre-exist. These include files will be copied into the @file{gcc} install directory. -Fixincludes will be run on these files to make them compatible with +@command{fixincludes} will be run on these files to make them compatible with GCC. @item --with-libs=``@var{dir1} @var{dir2} @dots{} @var{dirN}'' Specifies a list of directories which contain the target runtime @@ -850,7 +882,7 @@ Note that each @option{--enable} option has a corresponding corresponding @option{--without} option. @html -<hr> +<hr /> <p> @end html @ifhtml @@ -864,9 +896,6 @@ corresponding @option{--without} option. @node Building, Testing, Configuration, Installing GCC @end ifnothtml @ifset buildhtml -@html -<h1 align="center">Installing GCC: Building</h1> -@end html @ifnothtml @chapter Building @end ifnothtml @@ -903,7 +932,7 @@ because you have previously configured the compiler in the source directory. Make sure you have done all the necessary preparations. If you build GCC on a BSD system using a directory stored in an old System -V file system, problems may occur in running @code{fixincludes} if the +V file system, problems may occur in running @command{fixincludes} if the System V file system doesn't support symbolic links. These problems result in a failure to fix the declaration of @code{size_t} in @file{sys/types.h}. If you find that @code{size_t} is a signed type and @@ -955,14 +984,17 @@ bootstrap} except that object files from the stage1 and stage2 of the 3-stage bootstrap of the compiler are deleted as soon as they are no longer needed. - If you want to save additional space during the bootstrap and in the final installation as well, you can build the compiler binaries -without debugging information with @samp{make CFLAGS='-O' LIBCFLAGS='-g --O2' LIBCXXFLAGS='-g -O2 -fno-implicit-templates' bootstrap}. This will save +without debugging information as in the following example. This will save roughly 40% of disk space both for the bootstrap and the final installation. (Libraries will still contain debugging information.) +@example + make CFLAGS='-O' LIBCFLAGS='-g -O2' \ + LIBCXXFLAGS='-g -O2 -fno-implicit-templates' bootstrap +@end example + If you wish to use non-default GCC flags when compiling the stage2 and stage3 compilers, set @code{BOOT_CFLAGS} on the command line when doing @samp{make bootstrap}. Non-default optimization flags are less well @@ -1058,9 +1090,9 @@ used to disable building the Ada front end. Additional build tools (such as @command{gnatmake}) or a working GNAT run-time library installation are usually @emph{not} required. However, -if you want to boostrap the compiler using a minimal version of GNAT, +if you want to bootstrap the compiler using a minimal version of GNAT, you have to issue the following commands before invoking @samp{make -boostrap} (this assumes that you start with an unmodified and consistent +bootstrap} (this assumes that you start with an unmodified and consistent source distribution): @example @@ -1092,7 +1124,7 @@ Currently, when compiling the Ada front end, you cannot use the parallel build feature described in the previous section. @html -<hr> +<hr /> <p> @end html @ifhtml @@ -1106,9 +1138,6 @@ build feature described in the previous section. @node Testing, Final install, Building, Installing GCC @end ifnothtml @ifset testhtml -@html -<h1 align="center">Installing GCC: Testing</h1> -@end html @ifnothtml @chapter Installing GCC: Testing @end ifnothtml @@ -1167,6 +1196,11 @@ The testing process will try to test as many components in the GCC distribution as possible, including the C, C++, Objective-C and Fortran compilers as well as the C++ and Java runtime libraries. +While running the testsuite, DejaGnu might emit messages resembling +@samp{WARNING: Couldn't find the global config file.} or +@samp{WARNING: Couldn't find tool init file}. +These messages are harmless and do not affect the validity of the tests. + @section How can I run the test suite on selected tests? As a first possibility to cut down the number of tests that are run it is @@ -1194,6 +1228,17 @@ To get a list of the possible @file{*.exp} files, pipe the output of @samp{make check} into a file and look at the @samp{Running @dots{} .exp} lines. +To run only the tests for a library, run @samp{make check} from the +the library's testsuite in a subdirectory of the object directory: +@file{libstdc++-v3/testsuite} or @file{libcgj/testsuite}. + +@section Additional testing for Java Class Libraries + +The @uref{http://sources.redhat.com/mauve/,,Mauve Project} provides +a suite of tests for the Java Class Libraries. This suite can be run +as part of libgcj testing by specifying the location of the Mauve tree +when invoking @samp{make}, as in @samp{make MAUVEDIR=~/mauve check}. + @section How to interpret test results After the testsuite has run you'll find various @file{*.sum} and @file{*.log} @@ -1248,7 +1293,7 @@ few failing testcases are possible even on released versions and you should look here first if you think your results are unreasonable. @html -<hr> +<hr /> <p> @end html @ifhtml @@ -1262,9 +1307,6 @@ should look here first if you think your results are unreasonable. @node Final install, , Testing, Installing GCC @end ifnothtml @ifset finalinstallhtml -@html -<h1 align="center">Installing GCC: Final installation</h1> -@end html @ifnothtml @chapter Installing GCC: Final installation @end ifnothtml @@ -1274,6 +1316,9 @@ Now that GCC has been built (and optionally tested), you can install it with cd @var{objdir}; make install @end example +We strongly recommend to install into a target directory where there is +no previous version of GCC present. + That step completes the installation of GCC; user level binaries can be found in @file{@var{prefix}/bin} where @var{prefix} is the value you specified with the @option{--prefix} to configure (or @file{/usr/local} @@ -1286,10 +1331,8 @@ parts of the compiler in @file{@var{libdir}/gcc-lib}; documentation in info format in @file{@var{infodir}} (normally @file{@var{prefix}/info}). If you built a released version of GCC using @samp{make bootstrap} then please -quickly review the build status page for -@uref{http://gcc.gnu.org/gcc-3.1/buildstat.html,,3.1}, -@uref{http://gcc.gnu.org/gcc-3.0/buildstat.html,,3.0}, or -@uref{http://gcc.gnu.org/gcc-2.95/buildstat.html,,2.95}. +quickly review the build status page for your release, available from +@uref{http://gcc.gnu.org/buildstat.html}. If your system is not listed for the version of GCC that you built, send a note to @email{gcc@@gcc.gnu.org} indicating @@ -1362,7 +1405,7 @@ Free Software Foundation}, though such manuals may not be for the most recent version of GCC@. @html -<hr> +<hr /> <p> @end html @ifhtml @@ -1376,9 +1419,6 @@ recent version of GCC@. @node Binaries, Specific, Installing GCC, Top @end ifnothtml @ifset binarieshtml -@html -<h1 align="center">Installing GCC: Binaries</h1> -@end html @ifnothtml @chapter Installing GCC: Binaries @end ifnothtml @@ -1399,14 +1439,18 @@ contact their makers. AIX: @itemize @item -@uref{http://freeware.bull.net,,Bull's Freeware and Shareware Archive for AIX}; +@uref{http://www.bullfreeware.com,,Bull's Freeware and Shareware Archive for AIX}; @item -@uref{http://aixpdslib.seas.ucla.edu,,UCLA Software Library for AIX}; +@uref{http://aixpdslib.seas.ucla.edu,,UCLA Software Library for AIX}. @end itemize @item -DOS---@uref{http://www.delorie.com/djgpp/,,DJGPP}; +DOS---@uref{http://www.delorie.com/djgpp/,,DJGPP}. + +@item +Hitachi H8/300[HS]---@uref{http://h8300-hms.sourceforge.net/,,GNU +Development Tools for the Hitachi H8/300[HS] Series}. @item HP-UX: @@ -1420,13 +1464,16 @@ HP-UX: @item @uref{http://www.sco.com/skunkware/devtools/index.html#gcc,,SCO -OpenServer/Unixware}; +OpenServer/Unixware}. @item -Solaris 2 (SPARC, Intel)---@uref{http://www.sunfreeware.com/,,Sunfreeware}; +Sinix/Reliant Unix---@uref{ftp://ftp.siemens.de/sni/mr/pd/gnu/gcc,,Siemens}. + +@item +Solaris 2 (SPARC, Intel)---@uref{http://www.sunfreeware.com/,,Sunfreeware}. @item -SGI---@uref{http://freeware.sgi.com/,,SGI Freeware}; +SGI---@uref{http://freeware.sgi.com/,,SGI Freeware}. @item Windows 95, 98, and NT: @@ -1434,8 +1481,7 @@ Windows 95, 98, and NT: @item The @uref{http://sources.redhat.com/cygwin/,,Cygwin} project; @item -@uref{http://www.xraylith.wisc.edu/~khan/software/gnu-win32/,,GNU Win32} -related projects by Mumit Khan. +The @uref{http://www.mingw.org/,,MinGW} project. @end itemize @item @@ -1443,10 +1489,6 @@ related projects by Mumit Khan. Written Word} offers binaries for Solaris 2.5.1, 2.6, 2.7/SPARC, 2.7/Intel, IRIX 6.2, 6.5, Digital UNIX 4.0D, HP-UX 10.20, and HP-UX 11.00. -@item -Hitachi H8/300[HS]---@uref{http://h8300-hms.sourceforge.net/,,GNU -Development Tools for the Hitachi H8/300[HS] Series} - @end itemize In addition to those specific offerings, you can get a binary @@ -1459,7 +1501,7 @@ bootstrapping the compiler. An updated version of that disk is in the works. @html -<hr> +<hr /> <p> @end html @ifhtml @@ -1473,9 +1515,6 @@ works. @node Specific, Old, Binaries, Top @end ifnothtml @ifset specifichtml -@html -<h1 align="center">Host/target specific installation notes for GCC</h1> -@end html @ifnothtml @chapter Host/target specific installation notes for GCC @end ifnothtml @@ -1701,7 +1740,7 @@ GNU Compiler Collection on your machine. @html <!-- -------- host/target specific issues start here ---------------- --> -<hr> +<hr /> @end html @heading @anchor{1750a-*-*}1750a-*-* MIL-STD-1750A processors. This target is obsoleted in GCC 3.1. @@ -1742,8 +1781,7 @@ The 1750A's ``Load/Store Upper/Lower Byte'' instructions are not used by GCC@. @html -</p> -<hr> +<hr /> @end html @heading @anchor{a29k}a29k AMD Am29k-family processors. These are normally used in embedded @@ -1757,15 +1795,13 @@ You may need to make a variant of the file @file{a29k.h} for your particular configuration. @html -</p> -<hr> +<hr /> @end html @heading @anchor{a29k-*-bsd}a29k-*-bsd AMD Am29050 used in a system running a variant of BSD Unix. @html -</p> -<hr> +<hr /> @end html @heading @anchor{alpha*-*-*}alpha*-*-* @@ -1780,8 +1816,7 @@ debugging information, not the least of which is incorrect linking of shared libraries. @html -</p> -<hr> +<hr /> @end html @heading @anchor{alpha*-dec-osf*}alpha*-dec-osf* Systems using processors that implement the DEC Alpha architecture and @@ -1791,6 +1826,13 @@ Tru64 UNIX) operating system, for example the DEC Alpha AXP systems. Support for versions before @code{alpha*-dec-osf4} is obsoleted in GCC 3.1. (These are the versions which identify themselves as DEC OSF/1.) +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 +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 @@ -1857,8 +1899,7 @@ DBX@. DEC is now aware of this problem with the assembler and hopes to provide a fix shortly. @html -</p> -<hr> +<hr /> @end html @heading @anchor{alphaev5-cray-unicosmk*}alphaev5-cray-unicosmk* Cray T3E systems running Unicos/Mk. @@ -1874,8 +1915,10 @@ need to tell GCC where to find the assembler and the linker. The simplest way to do so is by providing @option{--with-as} and @option{--with-ld} to @file{configure}, e.g.@: -@samp{configure --with-as=/opt/ctl/bin/cam --with-ld=/opt/ctl/bin/cld ---enable-languages=c} +@example + configure --with-as=/opt/ctl/bin/cam --with-ld=/opt/ctl/bin/cld \ + --enable-languages=c +@end example The comparison test during @samp{make bootstrap} fails on Unicos/Mk because the assembler inserts timestamps into object files. You should @@ -1883,16 +1926,14 @@ be able to work around this by doing @samp{make all} after getting this failure. @html -</p> -<hr> +<hr /> @end html @heading @anchor{arc-*-elf}arc-*-elf Argonaut ARC processor. This configuration is intended for embedded systems. @html -</p> -<hr> +<hr /> @end html @heading @anchor{arm-*-aout}arm-*-aout Advanced RISC Machines ARM-family processors. These are often used in @@ -1904,23 +1945,20 @@ You may need to make a variant of the file @file{arm.h} for your particular configuration. @html -</p> -<hr> +<hr /> @end html @heading @anchor{arm-*-elf}arm-*-elf This configuration is intended for embedded systems. @html -</p> -<hr> +<hr /> @end html @heading @anchor{arm*-*-linux-gnu}arm*-*-linux-gnu We require GNU binutils 2.10 or newer. @html -</p> -<hr> +<hr /> @end html @heading @anchor{arm-*-riscix}arm-*-riscix The ARM2 or ARM3 processor running RISC iX, Acorn's port of BSD Unix. @@ -1937,8 +1975,7 @@ debugging, pass @option{--with-gnu-as} to configure. You will need to install GNU @command{sed} before you can run configure. @html -</p> -<hr> +<hr /> @end html @heading @anchor{avr}avr @@ -1975,8 +2012,7 @@ The following error: indicates that you should upgrade to a newer version of the binutils. @html -</p> -<hr> +<hr /> @end html @heading @anchor{c4x}c4x @@ -2006,8 +2042,7 @@ can also be obtained from: @end itemize @html -</p> -<hr> +<hr /> @end html @heading @anchor{cris}CRIS @@ -2045,8 +2080,7 @@ information about this platform is available at @uref{http://developer.axis.com/}. @html -</p> -<hr> +<hr /> @end html @heading @anchor{dos}DOS @@ -2058,15 +2092,13 @@ compilation package DJGPP, which includes binaries as well as sources, and includes all the necessary compilation tools and libraries. @html -</p> -<hr> +<hr /> @end html @heading @anchor{dsp16xx}dsp16xx A port to the AT&T DSP1610 family of processors. @html -</p> -<hr> +<hr /> @end html @heading @anchor{*-*-freebsd*}*-*-freebsd* @@ -2096,15 +2128,17 @@ results on FreeBSD 3.0, 3.4, 4.0, 4.2, 4.3, 4.4, 4.5-STABLE and 5-CURRENT@. In principle, @option{--enable-threads} is now compatible with @option{--enable-libgcj} on FreeBSD@. However, it has only been built -and tested on i386-*-freebsd4.5 and alpha-*-freebsd5.0. The static +and tested on @samp{i386-*-freebsd4.5} and @samp{alpha-*-freebsd5.0}. +The static library may be incorrectly built (symbols are missing at link time). There is a rare timing-based startup hang (probably involves an assupmtion about the thread library). Multi-threaded boehm-gc (required for libjava) exposes severe threaded signal-handling bugs on FreeBSD before 4.5-RELEASE. The alpha port may not fully bootstrap without some manual -intervention: gcjh will crash with a floating-point exception while +intervention: @command{gcjh} will crash with a floating-point exception while generating @file{java/lang/Double.h} (just copy the version built on -i386-*-freebsd* and rerun the top-level gmake with no arguments and it +@samp{i386-*-freebsd*} and rerun the top-level @command{gmake} with no +arguments and it should properly complete the bootstrap). Other CPU architectures supported by FreeBSD will require additional configuration tuning in, at the very least, both boehm-gc and libffi. @@ -2112,8 +2146,7 @@ the very least, both boehm-gc and libffi. Shared @file{libgcc_s.so} is now built and installed by default. @html -</p> -<hr> +<hr /> @end html @heading @anchor{elxsi-elxsi-bsd}elxsi-elxsi-bsd The Elxsi's C compiler has known limitations that prevent it from @@ -2122,8 +2155,7 @@ compiling GCC@. Please contact @email{mrs@@wrs.com} for more details. Support for this processor is obsoleted in GCC 3.1. @html -</p> -<hr> +<hr /> @end html @heading @anchor{h8300-hms}h8300-hms Hitachi H8/300 series of processors. @@ -2136,14 +2168,14 @@ first three arguments in function calls in registers. Structures are no longer a multiple of 2 bytes. @html -</p> -<hr> +<hr /> @end html @heading @anchor{hppa*-hp-hpux*}hppa*-hp-hpux* We @emph{highly} recommend using gas/binutils 2.8 or newer on all hppa platforms; you may encounter a variety of problems when using the HP -assembler. +assembler. The HP assembler does not work with the @samp{hppa64-hp-hpux11*} +port. Specifically, @option{-g} does not work on HP-UX (since that system uses a peculiar debugging format which GCC does not know about), unless you @@ -2151,15 +2183,15 @@ use GAS and GDB and configure GCC with the @uref{./configure.html#with-gnu-as,,@option{--with-gnu-as}} and @option{--with-as=@dots{}} options. -If you wish to use pa-risc 2.0 architecture support, you must use either -the HP assembler, gas/binutils 2.11 or a recent +If you wish to use the pa-risc 2.0 architecture support with a 32-bit +runtime, you must use either the HP assembler, gas/binutils 2.11 or newer, +or a recent @uref{ftp://sources.redhat.com/pub/binutils/snapshots,,snapshot of gas}. More specific information to @samp{hppa*-hp-hpux*} targets follows. @html -</p> -<hr> +<hr /> @end html @heading @anchor{hppa*-hp-hpux9}hppa*-hp-hpux9 @@ -2175,8 +2207,7 @@ and @env{SHELL} to @file{/bin/ksh} in your environment. @html -</p> -<hr> +<hr /> @end html @heading @anchor{hppa*-hp-hpux10}hppa*-hp-hpux10 @@ -2207,31 +2238,53 @@ bootstrap}. @html -</p> -<hr> +<hr /> @end html @heading @anchor{hppa*-hp-hpux11}hppa*-hp-hpux11 -GCC 3.0 and up support HP-UX 11. You must use GNU binutils 2.11 or above on -this platform. Thread support is not currently implemented for this -platform, so @option{--enable-threads} does not work. -See @uref{http://gcc.gnu.org/ml/gcc-prs/2002-01/msg00551.html} -and @uref{http://gcc.gnu.org/ml/gcc-bugs/2002-01/msg00663.html}. +GCC 3.0 and up support HP-UX 11. On 64-bit capable systems, there +are two distinct ports. The @samp{hppa2.0w-hp-hpux11*} port generates +code for the 32-bit pa-risc runtime architecture. It uses the HP +linker and is currently the default selected by config.guess. The +optional @samp{hppa64-hp-hpux11*} port generates 64-bit code for the +pa-risc 2.0 architecture. It must be explicitly selected using the +@samp{--host=hppa64-hp-hpux11*} configure option. Different prefixes +must be used if both ports are to be installed on the same system. + +You must use GNU binutils 2.11 or above with the 32-bit port. Thread +support is not currently implemented, so @option{--enable-threads} does +not work. See: + +@itemize +@item @uref{http://gcc.gnu.org/ml/gcc-prs/2002-01/msg00551.html} +@item @uref{http://gcc.gnu.org/ml/gcc-bugs/2002-01/msg00663.html}. +@end itemize + GCC 2.95.x is not supported under HP-UX 11 and cannot be used to compile GCC 3.0 and up. Refer to @uref{binaries.html,,binaries} for information about obtaining precompiled GCC binaries for HP-UX. +GNU binutils 2.13 or later is recommended with the 64-bit port. +The HP assembler is not supported. It is @emph{highly} recommended +that the GNU linker be used as well. Either binutils must be built +prior to gcc, or a binary distribution of gcc or binutils must be +obtained for the initial builds. When starting with a HP compiler, +it is preferable to use the ANSI compiler as the bundled compiler +only supports traditional C. Bootstrapping with the bundled compiler +is tested infrequently and problems often arise because of the subtle +differences in semantics between traditional and ISO C. There also +have been problems reported with various binary distributions. This +port still is undergoing significant development. + @html -</p> -<hr> +<hr /> @end html @heading @anchor{i370-*-*}i370-*-* This port is very preliminary and has many known bugs. We hope to have a higher-quality port for this machine soon. @html -</p> -<hr> +<hr /> @end html @heading @anchor{*-*-linux-gnu}*-*-linux-gnu @@ -2241,7 +2294,6 @@ The patch @uref{glibc-2.2.patch,,glibc-2.2.patch}, that is to be applied in the GCC source tree, fixes the compatibility problems. @html -</p> @end html @html @@ -2258,8 +2310,7 @@ glibc 2.2.4 whether patches for GCC 3.0 are needed. You can use glibc 2.2.3 with GCC 3.0, just do not try to recompile it. @html -</p> -<hr> +<hr /> @end html @heading @anchor{ix86-*-linux*oldld}i?86-*-linux*oldld Use this configuration to generate @file{a.out} binaries on Linux-based @@ -2269,8 +2320,7 @@ installed. This configuration is obsoleted in GCC 3.1. @html -</p> -<hr> +<hr /> @end html @heading @anchor{ix86-*-linux*aout}i?86-*-linux*aout Use this configuration to generate @file{a.out} binaries on Linux-based @@ -2278,8 +2328,7 @@ GNU systems. This configuration is being superseded. You must use gas/binutils version 2.5.2 or later. @html -</p> -<hr> +<hr /> @end html @heading @anchor{ix86-*-linux*}i?86-*-linux* @@ -2290,23 +2339,20 @@ possible you have a hardware problem. Further information on this can be found on @uref{http://www.bitwizard.nl/sig11/,,www.bitwizard.nl}. @html -</p> -<hr> +<hr /> @end html @heading @anchor{ix86-*-sco}i?86-*-sco Compilation with RCC is recommended. Also, it may be a good idea to link with GNU malloc instead of the malloc that comes with the system. @html -</p> -<hr> +<hr /> @end html @heading @anchor{ix86-*-sco3.2v4}i?86-*-sco3.2v4 Use this configuration for SCO release 3.2 version 4. @html -</p> -<hr> +<hr /> @end html @heading @anchor{ix86-*-sco3.2v5*}i?86-*-sco3.2v5* Use this for the SCO OpenServer Release 5 family of operating systems. @@ -2381,8 +2427,7 @@ engineering and will hopefully be addressed in later releases. @html -</p> -<hr> +<hr /> @end html @heading @anchor{ix86-*-udk}i?86-*-udk @@ -2401,8 +2446,10 @@ from the right place) while making the tools not think we're actually building a cross compiler. The easiest way to do this is with a configure command like this: -@samp{CC=/udk/usr/ccs/bin/cc @var{/your/path/to}/gcc/configure ---host=i686-pc-udk --target=i686-pc-udk --program-prefix=udk-} +@example + CC=/udk/usr/ccs/bin/cc @var{/your/path/to}/gcc/configure \ + --host=i686-pc-udk --target=i686-pc-udk --program-prefix=udk- +@end example @emph{You should substitute @samp{i686} in the above command with the appropriate processor for your host.} @@ -2416,8 +2463,7 @@ have installed. @html -</p> -<hr> +<hr /> @end html @heading @anchor{ix86-*-isc}i?86-*-isc This configuration is obsoleted in GCC 3.1. @@ -2429,8 +2475,7 @@ In ISC version 4.1, @command{sed} core dumps when building @file{deduced.h}. Use the version of @command{sed} from version 4.0. @html -</p> -<hr> +<hr /> @end html @heading @anchor{ix86-ibm-aix}i?86-ibm-aix This configuration is obsoleted in GCC 3.1. @@ -2439,8 +2484,7 @@ You need to use GAS version 2.1 or later, and LD from GNU binutils version 2.2 or later. @html -</p> -<hr> +<hr /> @end html @heading @anchor{ix86-sequent-bsd}i?86-sequent-bsd This configuration is obsoleted in GCC 3.1. @@ -2448,8 +2492,7 @@ This configuration is obsoleted in GCC 3.1. Go to the Berkeley universe before compiling. @html -</p> -<hr> +<hr /> @end html @heading @anchor{ix86-sequent-ptx1*}i?86-sequent-ptx1*, i?86-sequent-ptx2*, i?86-sequent-sysv3* This configuration is obsoleted in GCC 3.1. @@ -2461,8 +2504,7 @@ If you encounter this problem, upgrade your operating system or use @command{bash} (the GNU shell) to run @code{fixproto}. @html -</p> -<hr> +<hr /> @end html @heading @anchor{i860-intel-osf*}i860-intel-osf* All support for the i860 processor is obsoleted in GCC 3.1. @@ -2506,8 +2548,7 @@ insert the line These problems don't exist in operating system version 1.1. @html -</p> -<hr> +<hr /> @end html @heading @anchor{ia64-*-linux}ia64-*-linux IA-64 processor (also known as IPF, or Itanium Processor Family) @@ -2531,8 +2572,7 @@ GCC 3.0.2 is believed to be fully ABI compliant, and hence no more major ABI changes are expected. @html -</p> -<hr> +<hr /> @end html @heading @anchor{*-lynx-lynxos}*-lynx-lynxos LynxOS 2.2 and earlier comes with GCC 1.x already installed as @@ -2543,8 +2583,7 @@ COFF format object files and executables; otherwise GCC will use the installed tools, which produce @file{a.out} format executables. @html -</p> -<hr> +<hr /> <!-- rs6000-ibm-aix*, powerpc-ibm-aix* --> @end html @heading @anchor{*-ibm-aix*}*-ibm-aix* @@ -2572,6 +2611,35 @@ interoperate with GCC@. Building @file{libstdc++.a} requires a fix for a AIX Assembler bug APAR IY26685 (AIX 4.3) or APAR IY25528 (AIX 5.1). +@samp{libstdc++} in GCC 3.2 increments the major version number of the +shared object and GCC installation places the @file{libstdc++.a} +shared library in a common location which will overwrite the GCC 3.1 +version of the shared library. Applications either need to be +re-linked against the new shared library or the GCC 3.1 version of the +@samp{libstdc++} shared object needs to be available to the AIX +runtime loader. The GCC 3.1 @samp{libstdc++.so.4} shared object can +be installed for runtime dynamic loading using the following steps to +set the @samp{F_LOADONLY} flag in the shared object for @emph{each} +multilib @file{libstdc++.a} installed: + +Extract the shared object from each the GCC 3.1 @file{libstdc++.a} +archive: +@example + % ar -x libstdc++.a libstdc++.so.4 +@end example + +Enable the @samp{F_LOADONLY} flag so that the shared object will be +available for runtime dynamic loading, but not linking: +@example + % strip -e libstdc++.so.4 +@end example + +Archive the runtime-only shared object in the GCC 3.2 +@file{libstdc++.a} archive: +@example + % ar -q libstdc++.a libstdc++.so.4 +@end example + Linking executables and shared libraries may produce warnings of duplicate symbols. The assembly files generated by GCC for AIX always have included multiple symbol definitions for certain global variable @@ -2624,16 +2692,14 @@ A default can be specified with the @option{-mcpu=@var{cpu_type}} switch and using the configure option @option{--with-cpu-@var{cpu_type}}. @html -</p> -<hr> +<hr /> @end html @heading @anchor{m32r-*-elf}m32r-*-elf Mitsubishi M32R processor. This configuration is intended for embedded systems. @html -</p> -<hr> +<hr /> @end html @heading @anchor{m68000-hp-bsd}m68000-hp-bsd HP 9000 series 200 running BSD@. Note that the C compiler that comes @@ -2641,24 +2707,21 @@ with this system cannot compile GCC; contact @email{law@@cygnus.com} to get binaries of GCC for bootstrapping. @html -</p> -<hr> +<hr /> @end html @heading @anchor{m6811-elf}m6811-elf Motorola 68HC11 family micro controllers. These are used in embedded applications. There are no standard Unix configurations. @html -</p> -<hr> +<hr /> @end html @heading @anchor{m6812-elf}m6812-elf Motorola 68HC12 family micro controllers. These are used in embedded applications. There are no standard Unix configurations. @html -</p> -<hr> +<hr /> @end html @heading @anchor{m68k-altos}m68k-altos Altos 3068. This configuration is obsoleted in GCC 3.1. @@ -2667,8 +2730,7 @@ You must use the GNU assembler, linker and debugger. Also, you must fix a kernel bug. @html -</p> -<hr> +<hr /> @end html @heading @anchor{m68k-apple-aux}m68k-apple-aux Apple Macintosh running A/UX@. @@ -2687,8 +2749,7 @@ You will also a patched version of @file{/bin/ld} there that raises some of the arbitrary limits found in the original. @html -</p> -<hr> +<hr /> @end html @heading @anchor{m68k-att-sysv}m68k-att-sysv AT&T 3b1, a.k.a.@: 7300 PC@. This version of GCC cannot @@ -2698,8 +2759,7 @@ bootstrap. Binaries are available from the OSU-CIS archive, at @uref{ftp://archive.cis.ohio-state.edu/pub/att7300/}. @html -</p> -<hr> +<hr /> @end html @heading @anchor{m68k-bull-sysv}m68k-bull-sysv Bull DPX/2 series 200 and 300 with BOS-2.00.45 up to BOS-2.01. @@ -2714,8 +2774,7 @@ assembler or for availability of the DPX/2 port of GAS, contact @email{F.Pierresteguy@@frcl.bull.fr}. @html -</p> -<hr> +<hr /> @end html @heading @anchor{m68k-crds-unos}m68k-crds-unos Use @samp{configure unos} for building on Unos. @@ -2754,8 +2813,7 @@ If linking @file{cc1} fails, try putting the object files into a library and linking from that library. @html -</p> -<hr> +<hr /> @end html @heading @anchor{m68k-hp-hpux}m68k-hp-hpux HP 9000 series 300 or 400 running HP-UX@. HP-UX version 8.0 has a bug in @@ -2813,8 +2871,7 @@ to look like: @html -</p> -<hr> +<hr /> @end html @heading @anchor{m68k-*-nextstep*}m68k-*-nextstep* These configurations are obsoleted in GCC 3.1. @@ -2864,8 +2921,7 @@ for this sequence to work. @end example @html -</p> -<hr> +<hr /> @end html @heading @anchor{m68k-ncr-*}m68k-ncr-* On the Tower models 4@var{n}0 and 6@var{n}0, by default a process is not @@ -2881,8 +2937,7 @@ MAXUMEM = 4096 @html -</p> -<hr> +<hr /> @end html @heading @anchor{m68k-sun}m68k-sun Sun 3. We do not provide a configuration file to use the Sun FPA by @@ -2890,8 +2945,7 @@ default, because programs that establish signal handlers for floating point traps inherently cannot work with the FPA@. @html -</p> -<hr> +<hr /> @end html @heading @anchor{m68k-sun-sunos4.1.1}m68k-sun-sunos4.1.1 @@ -2899,8 +2953,7 @@ It is reported that you may need the GNU assembler on this platform. @html -</p> -<hr> +<hr /> @end html @heading @anchor{m88k-*-svr3}m88k-*-svr3 Motorola m88k running the AT&T/Unisoft/Motorola V.3 reference port. @@ -2918,8 +2971,7 @@ It is best, however, to use an older version of GCC for bootstrapping if you have one. @html -</p> -<hr> +<hr /> @end html @heading @anchor{m88k-*-dgux}m88k-*-dgux Motorola m88k running DG/UX@. @@ -2938,8 +2990,7 @@ If you do not specify a configuration name, @file{configure} guesses the configuration based on the current software development environment. @html -</p> -<hr> +<hr /> @end html @heading @anchor{m88k-tektronix-sysv3}m88k-tektronix-sysv3 Tektronix XD88 running UTekV 3.2e. @@ -2954,8 +3005,7 @@ Otherwise you may have trouble getting clean comparisons between stages. @html -</p> -<hr> +<hr /> @end html @heading @anchor{mips-*-*}mips-*-* If you use the 1.31 version of the MIPS assembler (such as was shipped @@ -3008,8 +3058,7 @@ If you override the @code{CC} make variable and use the MIPS compilers, you may need to add @option{-Wf,-XNg1500 -Olimit 3000}. @html -</p> -<hr> +<hr /> @end html @heading @anchor{mips-dec-*}mips-dec-* These configurations are obsoleted in GCC 3.1. @@ -3042,8 +3091,7 @@ If you override the @code{CC} make variable and use the MIPS compilers, you may need to add @option{-Wf,-XNg1500 -Olimit 3000}. @html -</p> -<hr> +<hr /> @end html @heading @anchor{mips-mips-riscos*}mips-mips-riscos* These configurations are obsoleted in GCC 3.1. @@ -3073,8 +3121,7 @@ BSD 4.3 configuration for RISC-OS, revision @var{rev}. System V.4 configuration for RISC-OS, revision @var{rev}. @html -</p> -<hr> +<hr /> @end html @item mips-mips-riscos@var{rev}sysv System V.3 configuration for RISC-OS, revision @var{rev}. @@ -3086,8 +3133,7 @@ RISC-OS revision 4 to RISC-OS revision 5. This has the effect of avoiding a linker bug. @html -</p> -<hr> +<hr /> @end html @heading @anchor{mips-sgi-irix4}mips-sgi-irix4 This configuration is obsoleted in GCC 3.1. @@ -3119,8 +3165,7 @@ ignored. @end example @html -</p> -<hr> +<hr /> @end html @heading @anchor{mips-sgi-irix5}mips-sgi-irix5 @@ -3165,8 +3210,7 @@ however, you may have success with @command{smake} on IRIX 5.2 if you do not have GNU @command{make} available. @html -</p> -<hr> +<hr /> @end html @heading @anchor{mips-sgi-irix6}mips-sgi-irix6 @@ -3195,6 +3239,27 @@ 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@. +If you want the resulting @command{gcc} to run on old 32-bit systems +with the MIPS R4400 CPU, you need to ensure that only code for the mips3 +instruction set architecture (ISA) is generated. While GCC 3.x does +this correctly, both GCC 2.95 and SGI's MIPSpro @command{cc} may change +the ISA depending on the machine where GCC is built. Using one of them +as the bootstrap compiler may result in mips4 code, which won't run at +all on mips3-only systems. For the test program above, you should see: + +@example +test.o: ELF N32 MSB mips-3 @dots{} +@end example + +If you get: + +@example +test.o: ELF N32 MSB mips-4 @dots{} +@end example + +instead, you should set the environment variable @env{CC} to @samp{cc +-n32 -mips3} or @samp{gcc -mips3} respectively before configuring GCC@. + GCC on IRIX 6 is usually built to support both the N32 and N64 ABIs. If you build GCC on a system that doesn't have the N64 libraries installed, you need to configure with @option{--disable-multilib} so GCC doesn't @@ -3226,7 +3291,7 @@ its maximum of 262144 bytes. If you have root access, you can use the GCC does not correctly pass/return structures which are smaller than 16 bytes and which are not 8 bytes. The problem is very involved and difficult to fix. It affects a number of other targets also, -but IRIX 6 is affected the most, because it is a 64 bit target, and 4 byte +but IRIX 6 is affected the most, because it is a 64-bit target, and 4 byte structures are common. The exact problem is that structures are being padded at the wrong end, e.g.@: a 4 byte structure is loaded into the lower 4 bytes of the register when it should be loaded into the upper 4 bytes of the @@ -3244,8 +3309,7 @@ See @uref{http://freeware.sgi.com/,,http://freeware.sgi.com/} for more information about using GCC on IRIX platforms. @html -</p> -<hr> +<hr /> @end html @heading @anchor{mips-sony-sysv}mips-sony-sysv Sony MIPS NEWS@. This configuration is obsoleted in GCC 3.1. @@ -3255,8 +3319,7 @@ COFF)@. In particular, the linker does not like the code generated by GCC when shared libraries are linked in. @html -</p> -<hr> +<hr /> @end html @heading @anchor{ns32k-encore}ns32k-encore This configuration is obsoleted in GCC 3.1. @@ -3264,8 +3327,7 @@ This configuration is obsoleted in GCC 3.1. Encore ns32000 system. Encore systems are supported only under BSD@. @html -</p> -<hr> +<hr /> @end html @heading @anchor{ns32k-*-genix}ns32k-*-genix National Semiconductor ns32000 system. This configuration is obsoleted @@ -3275,8 +3337,7 @@ Genix has bugs in @code{alloca} and @code{malloc}; you must get the compiled versions of these from GNU Emacs. @html -</p> -<hr> +<hr /> @end html @heading @anchor{ns32k-sequent}ns32k-sequent This configuration is obsoleted in GCC 3.1. @@ -3284,8 +3345,7 @@ This configuration is obsoleted in GCC 3.1. Go to the Berkeley universe before compiling. @html -</p> -<hr> +<hr /> @end html @heading @anchor{ns32k-utek}ns32k-utek UTEK ns32000 system (``merlin''). This configuration is obsoleted in @@ -3296,8 +3356,7 @@ The C compiler that comes with this system cannot compile GCC; contact @html -</p> -<hr> +<hr /> @end html @heading @anchor{powerpc*-*-*}powerpc-*-* @@ -3305,8 +3364,7 @@ You can specify a default version for the @option{-mcpu=@var{cpu_type}} switch by using the configure option @option{--with-cpu-@var{cpu_type}}. @html -</p> -<hr> +<hr /> @end html @heading @anchor{powerpc-*-darwin*}powerpc-*-darwin* PowerPC running Darwin (Mac OS X kernel). @@ -3320,7 +3378,7 @@ binaries are available at registration required). Versions of the assembler prior to ``cctools-364'' cannot handle the -4-argument form of rlwinm and related mask-using instructions. Darwin +4-argument form of @code{rlwinm} and related mask-using instructions. Darwin 1.3 (Mac OS X 10.0) uses cctools-353 for instance. To get cctools-364, check out @file{cctools} with tag @samp{Apple-364}, build it, and install the assembler as @file{usr/bin/as}. See @@ -3339,25 +3397,22 @@ number of extensions not available in a standard GCC release. These extensions are generally specific to Mac programming. @html -</p> -<hr> +<hr /> @end html @heading @anchor{powerpc-*-elf}powerpc-*-elf, powerpc-*-sysv4 PowerPC system in big endian mode, running System V.4. @html -</p> -<hr> +<hr /> @end html @heading @anchor{powerpc-*-linux-gnu*}powerpc-*-linux-gnu* You will need -@uref{ftp://ftp.kernel.org/pub/linux/devel/binutils,,binutils 2.12.90.0.7} +@uref{ftp://ftp.kernel.org/pub/linux/devel/binutils,,binutils 2.13.90.0.10} or newer for a working GCC@. @html -</p> -<hr> +<hr /> @end html @heading @anchor{powerpc-*-netbsd*}powerpc-*-netbsd* PowerPC system in big endian mode running NetBSD@. To build the @@ -3365,60 +3420,52 @@ documentation you will need Texinfo version 4.1 (NetBSD 1.5.1 included Texinfo version 3.12). @html -</p> -<hr> +<hr /> @end html @heading @anchor{powerpc-*-eabiaix}powerpc-*-eabiaix Embedded PowerPC system in big endian mode with @option{-mcall-aix} selected as the default. @html -</p> -<hr> +<hr /> @end html @heading @anchor{powerpc-*-eabisim}powerpc-*-eabisim Embedded PowerPC system in big endian mode for use in running under the PSIM simulator. @html -</p> -<hr> +<hr /> @end html @heading @anchor{powerpc-*-eabi}powerpc-*-eabi Embedded PowerPC system in big endian mode. @html -</p> -<hr> +<hr /> @end html @heading @anchor{powerpcle-*-elf}powerpcle-*-elf, powerpcle-*-sysv4 PowerPC system in little endian mode, running System V.4. @html -</p> -<hr> +<hr /> @end html @heading @anchor{powerpcle-*-eabisim}powerpcle-*-eabisim Embedded PowerPC system in little endian mode for use in running under the PSIM simulator. @html -</p> -<hr> +<hr /> @end html @heading @anchor{powerpcle-*-eabi}powerpcle-*-eabi Embedded PowerPC system in little endian mode. @html -</p> -<hr> +<hr /> @end html @heading @anchor{powerpcle-*-winnt}powerpcle-*-winnt, powerpcle-*-pe PowerPC system in little endian mode running Windows NT@. @html -</p> -<hr> +<hr /> @end html @heading @anchor{romp-*-aos}romp-*-aos, romp-*-mach These configurations are obsoleted in GCC 3.1. @@ -3431,22 +3478,19 @@ floating-point constants and can be safely ignored; the stage 3 compiler is correct. @html -</p> -<hr> +<hr /> @end html @heading @anchor{s390-*-linux*}s390-*-linux* S/390 system running Linux for S/390@. @html -</p> -<hr> +<hr /> @end html @heading @anchor{s390x-*-linux*}s390x-*-linux* -zSeries system (64 Bit) running Linux for zSeries@. +zSeries system (64-bit) running Linux for zSeries@. @html -</p> -<hr> +<hr /> @end html @c Please use Solaris 2 to refer to all release of Solaris, starting @c with 2.0 until 2.6, 7, and 8. Solaris 1 was a marketing name for @@ -3461,9 +3505,7 @@ GCC you first have to install a pre-built compiler, see our The Solaris 2 @command{/bin/sh} will often fail to configure @file{libstdc++-v3}, @file{boehm-gc} or @file{libjava}. If you encounter this problem, set @env{CONFIG_SHELL} to -@command{/bin/ksh} in your environment and run @command{make bootstrap} again. -Another possibility that sometimes helps is to remove -@file{*-*-solaris2*/config.cache}. +@command{/bin/ksh} in your environment before running @command{configure}. Solaris 2 comes with a number of optional OS packages. Some of these packages are needed to use GCC fully, namely @code{SUNWarc}, @@ -3501,8 +3543,7 @@ There are patches for Solaris 2.6 (105633-56 or newer for SPARC, 108653-22 for Intel) that fix this bug. @html -</p> -<hr> +<hr /> @end html @heading @anchor{sparc-sun-solaris2*}sparc-sun-solaris2* @@ -3514,8 +3555,10 @@ information. Sun @command{as} 4.x is broken in that it cannot cope with long symbol names. A typical error message might look similar to the following: -@samp{/usr/ccs/bin/as: "/var/tmp/ccMsw135.s", line 11041: -error: can't compute value of an expression involving an external symbol.} +@smallexample +/usr/ccs/bin/as: "/var/tmp/ccMsw135.s", line 11041: error: + can't compute value of an expression involving an external symbol. +@end smallexample This is Sun bug 4237974. This is fixed with patch 108908-02 for Solaris 2.6 and has been fixed in later (5.x) versions of the assembler, @@ -3535,8 +3578,7 @@ that supports only 32-bit binaries, one must configure with 64-bit target libraries. @html -</p> -<hr> +<hr /> @end html @heading @anchor{sparc-sun-solaris2.7}sparc-sun-solaris2.7 @@ -3578,7 +3620,7 @@ the Solaris 7 Recommended Patch Cluster. @html <p> -<hr> +<hr /> @end html @heading @anchor{sparc-sun-sunos4*}sparc-sun-sunos4* @@ -3597,8 +3639,7 @@ be due to a bug in @command{sh}. You can probably get around it by running @command{make}. @html -</p> -<hr> +<hr /> @end html @heading @anchor{sparc-unknown-linux-gnulibc1}sparc-unknown-linux-gnulibc1 @@ -3608,8 +3649,7 @@ for this platform, too. @html -</p> -<hr> +<hr /> @end html @heading @anchor{sparc-*-linux*}sparc-*-linux* @@ -3619,8 +3659,7 @@ releases mishandled unaligned relocations on @code{sparc-*-*} targets. @html -</p> -<hr> +<hr /> @end html @heading @anchor{sparc64-*-*}sparc64-*-* @@ -3631,8 +3670,7 @@ invocation with an environment that causes @command{configure} to recognize (via @samp{uname -a}) the system as @samp{sparc-*-*} instead. @html -</p> -<hr> +<hr /> @end html @heading @anchor{sparcv9-*-solaris2*}sparcv9-*-solaris2* @@ -3647,8 +3685,7 @@ step in order to bootstrap this target with the Sun compiler: specifies the v9 architecture to the Sun linker and assembler. @html -</p> -<hr> +<hr /> @end html @heading @anchor{#*-*-sysv*}*-*-sysv* On System V release 3, you may get this error message @@ -3682,16 +3719,14 @@ On a System V release 4 system, make sure @file{/usr/bin} precedes @file{/usr/ucb} uses libraries which have bugs. @html -</p> -<hr> +<hr /> @end html @heading @anchor{vax-dec-ultrix}vax-dec-ultrix Don't try compiling with VAX C (@code{vcc}). It produces incorrect code in some cases (for example, when @code{alloca} is used). @html -</p> -<hr> +<hr /> @end html @heading @anchor{we32k-*-*}we32k-*-* These computers are also known as the 3b2, 3b5, 3b20 and other similar @@ -3729,8 +3764,7 @@ You may need to raise the ULIMIT setting to build a C++ compiler, as the file @file{cc1plus} is larger than one megabyte. @html -</p> -<hr> +<hr /> @end html @heading @anchor{xtensa-*-elf}xtensa-*-elf @@ -3748,8 +3782,7 @@ downloaded files include a customized copy of this header file, which you can use to replace the default header file. @html -</p> -<hr> +<hr /> @end html @heading @anchor{xtensa-*-linux*}xtensa-*-linux* @@ -3761,10 +3794,9 @@ respects, this target is the same as the @uref{#xtensa-*-elf,,@samp{xtensa-*-elf}} target. @html -</p> -<hr> +<hr /> @end html -@heading @anchor{windows}Microsoft Windows (32 bit) +@heading @anchor{windows}Microsoft Windows (32-bit) A port of GCC 2.95.x is included with the @uref{http://www.cygwin.com/,,Cygwin environment}. @@ -3773,8 +3805,7 @@ Current (as of early 2001) snapshots of GCC will build under Cygwin without modification. @html -</p> -<hr> +<hr /> @end html @heading @anchor{os2}OS/2 @@ -3787,8 +3818,7 @@ An older copy of GCC 2.8.1 is included with the EMX tools available at ftp://ftp.leo.org/pub/comp/os/os2/leo/devtools/emx+gcc/}. @html -</p> -<hr> +<hr /> @end html @heading @anchor{older}Older systems @@ -3838,8 +3868,7 @@ about GCC on such systems (which may no longer be applicable to current GCC) is to be found in the GCC texinfo manual. @html -</p> -<hr> +<hr /> @end html @heading @anchor{elf_targets}all ELF targets (SVR4, Solaris 2, etc.) @@ -3850,8 +3879,7 @@ automatically. @html -</p> -<hr> +<hr /> <p> @end html @ifhtml @@ -3863,8 +3891,7 @@ automatically. @ifset oldhtml @include install-old.texi @html -</p> -<hr> +<hr /> <p> @end html @ifhtml @@ -3876,8 +3903,7 @@ automatically. @ifset gfdlhtml @include fdl.texi @html -</p> -<hr> +<hr /> <p> @end html @ifhtml |