install.texi

来自「GCC编译器源代码」· TEXI 代码 · 共 1,605 行 · 第 1/5 页

TEXI
1,605
字号
@item mips-mips-riscos@code{rev}Default configuration for RISC-OS, revision @code{rev}.@item mips-mips-riscos@code{rev}bsdBSD 4.3 configuration for RISC-OS, revision @code{rev}.@item mips-mips-riscos@code{rev}sysv4System V.4 configuration for RISC-OS, revision @code{rev}.@item mips-mips-riscos@code{rev}sysvSystem V.3 configuration for RISC-OS, revision @code{rev}.@end tableThe revision @code{rev} mentioned above is the revision ofRISC-OS to use.  You must reconfigure GCC when going from aRISC-OS revision 4 to RISC-OS revision 5.  This has the effect ofavoiding a linker@ifclear INSTALLONLYbug (see @ref{Installation Problems}, for more details).@end ifclear@ifset INSTALLONLYbug.@end ifset@item mips-sgi-*In order to compile GCC on an SGI running IRIX 4, the "c.hdr.lib"option must be installed from the CD-ROM supplied from Silicon Graphics.This is found on the 2nd CD in release 4.0.1.In order to compile GCC on an SGI running IRIX 5, the "compiler_dev.hdr"subsystem must be installed from the IDO CD-ROM supplied by SiliconGraphics.@code{make compare} may fail on version 5 of IRIX unless you add@samp{-save-temps} to @code{CFLAGS}.  On these systems, the name of theassembler input file is stored in the object file, and that makescomparison fail if it differs between the @code{stage1} and@code{stage2} compilations.  The option @samp{-save-temps} forces afixed name to be used for the assembler input file, instead of arandomly chosen name in @file{/tmp}.  Do not add @samp{-save-temps}unless the comparisons fail without that option.  If you do you@samp{-save-temps}, you will have to manually delete the @samp{.i} and@samp{.s} files after each series of compilations.The MIPS C compiler needs to be told to increase its table sizefor switch statements with the @samp{-Wf,-XNg1500} option inorder to compile @file{cp/parse.c}.  If you use the @samp{-O2}optimization option, you also need to use @samp{-Olimit 3000}.Both of these options are automatically generated in the@file{Makefile} that the shell script @file{configure} builds.If you override the @code{CC} make variable and use the MIPScompilers, you may need to add @samp{-Wf,-XNg1500 -Olimit 3000}.On Irix version 4.0.5F, and perhaps on some other versions as well,there is an assembler bug that reorders instructions incorrectly.  Towork around it, specify the target configuration@samp{mips-sgi-irix4loser}.  This configuration inhibits assembleroptimization.In a compiler configured with target @samp{mips-sgi-irix4}, you can turnoff assembler optimization by using the @samp{-noasmopt} option.  Thiscompiler option passes the option @samp{-O0} to the assembler, toinhibit reordering.The @samp{-noasmopt} option can be useful for testing whether a problemis due to erroneous assembler reordering.  Even if a problem does not goaway with @samp{-noasmopt}, it may still be due to assemblerreordering---perhaps GNU CC itself was miscompiled as a result.To enable debugging under Irix 5, you must use GNU as 2.5 or later,and use the @samp{--with-gnu-as} configure option when configuring gcc.GNU as is distributed as part of the binutils package.@item mips-sony-sysvSony MIPS NEWS.  This works in NEWSOS 5.0.1, but not in 5.0.2 (whichuses ELF instead of COFF).  Support for 5.0.2 will probably be providedsoon by volunteers.  In particular, the linker does not like thecode generated by GCC when shared libraries are linked in.@item ns32k-encoreEncore ns32000 system.  Encore systems are supported only under BSD.@item ns32k-*-genixNational Semiconductor ns32000 system.  Genix has bugs in @code{alloca}and @code{malloc}; you must get the compiled versions of these from GNUEmacs.@item ns32k-sequentGo to the Berkeley universe before compiling.@item ns32k-utekUTEK ns32000 system (``merlin'').  The C compiler that comes with thissystem cannot compile GNU CC; contact @samp{tektronix!reed!mason} to getbinaries of GNU CC for bootstrapping.@item romp-*-aos@itemx romp-*-machThe only operating systems supported for the IBM RT PC are AOS andMACH.  GNU CC does not support AIX running on the RT.  We recommend youcompile GNU CC with an earlier version of itself; if you compile GNU CCwith @code{hc}, the Metaware compiler, it will work, but you will getmismatches between the stage 2 and stage 3 compilers in various files.These errors are minor differences in some floating-point constants andcan be safely ignored; the stage 3 compiler is correct.@item rs6000-*-aix@itemx powerpc-*-aixVarious early versions of each release of the IBM XLC compiler will notbootstrap GNU CC.  Symptoms include differences between the stage2 andstage3 object files, and errors when compiling @file{libgcc.a} or@file{enquire}.  Known problematic releases include: xlc-1.2.1.8,xlc-1.3.0.0 (distributed with AIX 3.2.5), and xlc-1.3.0.19.  Bothxlc-1.2.1.28 and xlc-1.3.0.24 (PTF 432238) are known to produce workingversions of GNU CC, but most other recent releases correctly bootstrapGNU CC.  Also, releases of AIX prior to AIX 3.2.4 include a version ofthe IBM assembler which does not accept debugging directives: assemblerupdates are available as PTFs.  Also, if you are using AIX 3.2.5 orgreater and the GNU assembler, you must have a version modified afterOctober 16th, 1995 in order for the GNU C compiler to build.  See thefile @file{README.RS6000} for more details on of these problems.GNU CC does not yet support the 64-bit PowerPC instructions.Objective C does not work on this architecture because it makes assumptionsthat are incompatible with the calling conventions.AIX on the RS/6000 provides support (NLS) for environments outside ofthe United States.  Compilers and assemblers use NLS to supportlocale-specific representations of various objects includingfloating-point numbers ("." vs "," for separating decimal fractions).There have been problems reported where the library linked with GNU CCdoes not produce the same floating-point formats that the assembleraccepts.  If you have this problem, set the LANG environment variable to"C" or "En_US".Due to changes in the way that GNU CC invokes the binder (linker) for AIX4.1, you may now receive warnings of duplicate symbols from the link stepthat were not reported before.  The assembly files generated by GNU CC forAIX have always included multiple symbol definitions for certain globalvariable and function declarations in the original program.  The warningsshould not prevent the linker from producing a correct library or runnableexecutable.By default, AIX 4.1 produces code that can be used on either Power orPowerPC processors.You can specify a default version for the @samp{-mcpu=}@var{cpu_type}switch by using the configure option @samp{--with-cpu-}@var{cpu_type}.@item powerpc-*-elf@itemx powerpc-*-sysv4PowerPC system in big endian mode, running System V.4.You can specify a default version for the @samp{-mcpu=}@var{cpu_type}switch by using the configure option @samp{--with-cpu-}@var{cpu_type}.@item powerpc-*-linux-gnuPowerPC system in big endian mode, running the Linux-based GNU system.You can specify a default version for the @samp{-mcpu=}@var{cpu_type}switch by using the configure option @samp{--with-cpu-}@var{cpu_type}.@item powerpc-*-eabiaixEmbedded PowerPC system in big endian mode with -mcall-aix selected asthe default.You can specify a default version for the @samp{-mcpu=}@var{cpu_type}switch by using the configure option @samp{--with-cpu-}@var{cpu_type}.@item powerpc-*-eabisimEmbedded PowerPC system in big endian mode for use in running under thePSIM simulator.You can specify a default version for the @samp{-mcpu=}@var{cpu_type}switch by using the configure option @samp{--with-cpu-}@var{cpu_type}.@item powerpc-*-eabiEmbedded PowerPC system in big endian mode.You can specify a default version for the @samp{-mcpu=}@var{cpu_type}switch by using the configure option @samp{--with-cpu-}@var{cpu_type}.@item powerpcle-*-elf@itemx powerpcle-*-sysv4PowerPC system in little endian mode, running System V.4.You can specify a default version for the @samp{-mcpu=}@var{cpu_type}switch by using the configure option @samp{--with-cpu-}@var{cpu_type}.@item powerpcle-*-solaris2*PowerPC system in little endian mode, running Solaris 2.5.1 or higher.You can specify a default version for the @samp{-mcpu=}@var{cpu_type}switch by using the configure option @samp{--with-cpu-}@var{cpu_type}.Beta versions of the Sun 4.0 compiler do not seem to be able to buildGNU CC correctly.  There are also problems with the host assembler andlinker that are fixed by using the GNU versions of these tools.@item powerpcle-*-eabisimEmbedded PowerPC system in little endian mode for use in running underthe PSIM simulator.@itemx powerpcle-*-eabiEmbedded PowerPC system in little endian mode.You can specify a default version for the @samp{-mcpu=}@var{cpu_type}switch by using the configure option @samp{--with-cpu-}@var{cpu_type}.@item powerpcle-*-winnt@itemx powerpcle-*-pePowerPC system in little endian mode running Windows NT.You can specify a default version for the @samp{-mcpu=}@var{cpu_type}switch by using the configure option @samp{--with-cpu-}@var{cpu_type}.@item vax-dec-ultrixDon't try compiling with Vax C (@code{vcc}).  It produces incorrect codein some cases (for example, when @code{alloca} is used).Meanwhile, compiling @file{cp/parse.c} with pcc does not work because ofan internal table size limitation in that compiler.  To avoid thisproblem, compile just the GNU C compiler first, and use it to recompilebuilding all the languages that you want to run.@item sparc-sun-*See @ref{Sun Install}, for information on installing GNU CC on Sunsystems.@item vax-dec-vmsSee @ref{VMS Install}, for details on how to install GNU CC on VMS.@item we32k-*-*These computers are also known as the 3b2, 3b5, 3b20 and other similarnames.  (However, the 3b1 is actually a 68000; see@ref{Configurations}.)Don't use @samp{-g} when compiling with the system's compiler.  Thesystem's linker seems to be unable to handle such a large program withdebugging information.The system's compiler runs out of capacity when compiling @file{stmt.c}in GNU CC.  You can work around this by building @file{cpp} in GNU CCfirst, then use that instead of the system's preprocessor with thesystem's C compiler to compile @file{stmt.c}.  Here is how:@smallexamplemv /lib/cpp /lib/cpp.attcp cpp /lib/cpp.gnuecho '/lib/cpp.gnu -traditional $@{1+"$@@"@}' > /lib/cppchmod +x /lib/cpp@end smallexampleThe system's compiler produces bad code for some of the GNU CCoptimization files.  So you must build the stage 2 compiler withoutoptimization.  Then build a stage 3 compiler with optimization.That executable should work.  Here are the necessary commands:@smallexamplemake LANGUAGES=c CC=stage1/xgcc CFLAGS="-Bstage1/ -g"make stage2make CC=stage2/xgcc CFLAGS="-Bstage2/ -g -O"@end smallexampleYou may need to raise the ULIMIT setting to build a C++ compiler,as the file @file{cc1plus} is larger than one megabyte.@end table@node Other Dir@section Compilation in a Separate Directory@cindex other directory, compilation in@cindex compilation in a separate directory@cindex separate directory, compilation inIf you wish to build the object files and executables in a directoryother than the one containing the source files, here is what you mustdo differently:@enumerate@itemMake sure you have a version of Make that supports the @code{VPATH}feature.  (GNU Make supports it, as do Make versions on most BSDsystems.)@itemIf you have ever run @file{configure} in the source directory, you must undothe configuration.  Do this by running:@examplemake distclean@end example@itemGo to the directory in which you want to build the compiler beforerunning @file{configure}:@examplemkdir gcc-sun3cd gcc-sun3@end exampleOn systems that do not support symbolic links, this directory must beon the same file system as the source code directory.@itemSpecify where to find @file{configure} when you run it:@example../gcc/configure @dots{}@end exampleThis also tells @code{configure} where to find the compiler sources;@code{configure} takes the directory from the file name that was used toinvoke it.  But if you want to be sure, you can specify the sourcedirectory with the @samp{--srcdir} option, like this:@example../gcc/configure --srcdir=../gcc @var{other options}@end exampleThe directory you specify with @samp{--srcdir} need not be the sameas the one that @code{configure} is fo

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?