install

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

TXT
1,454
字号
     of compilations.     The MIPS C compiler needs to be told to increase its table size     for switch statements with the `-Wf,-XNg1500' option in order to     compile `cp/parse.c'.  If you use the `-O2' optimization option,     you also need to use `-Olimit 3000'.  Both of these options are     automatically generated in the `Makefile' that the shell script     `configure' builds.  If you override the `CC' make variable and     use the MIPS compilers, you may need to add `-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.     To work around it, specify the target configuration     `mips-sgi-irix4loser'.  This configuration inhibits assembler     optimization.     In a compiler configured with target `mips-sgi-irix4', you can turn     off assembler optimization by using the `-noasmopt' option.  This     compiler option passes the option `-O0' to the assembler, to     inhibit reordering.     The `-noasmopt' option can be useful for testing whether a problem     is due to erroneous assembler reordering.  Even if a problem does     not go away with `-noasmopt', it may still be due to assembler     reordering--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 `--with-gnu-as' configure option when configuring gcc.     GNU as is distributed as part of the binutils package.`mips-sony-sysv'     Sony MIPS NEWS.  This works in NEWSOS 5.0.1, but not in 5.0.2     (which uses ELF instead of COFF).  Support for 5.0.2 will probably     be provided soon by volunteers.  In particular, the linker does     not like the code generated by GCC when shared libraries are     linked in.`ns32k-encore'     Encore ns32000 system.  Encore systems are supported only under     BSD.`ns32k-*-genix'     National Semiconductor ns32000 system.  Genix has bugs in `alloca'     and `malloc'; you must get the compiled versions of these from GNU     Emacs.`ns32k-sequent'     Go to the Berkeley universe before compiling.`ns32k-utek'     UTEK ns32000 system ("merlin").  The C compiler that comes with     this system cannot compile GNU CC; contact `tektronix!reed!mason'     to get binaries of GNU CC for bootstrapping.`romp-*-aos'`romp-*-mach'     The only operating systems supported for the IBM RT PC are AOS and     MACH.  GNU CC does not support AIX running on the RT.  We     recommend you compile GNU CC with an earlier version of itself; if     you compile GNU CC with `hc', the Metaware compiler, it will work,     but you will get mismatches between the stage 2 and stage 3     compilers in various files.  These errors are minor differences in     some floating-point constants and can be safely ignored; the stage     3 compiler is correct.`rs6000-*-aix'`powerpc-*-aix'     Various early versions of each release of the IBM XLC compiler     will not bootstrap GNU CC.  Symptoms include differences between     the stage2 and stage3 object files, and errors when compiling     `libgcc.a' or `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.  Both xlc-1.2.1.28 and xlc-1.3.0.24 (PTF 432238) are     known to produce working versions of GNU CC, but most other recent     releases correctly bootstrap GNU CC.  Also, releases of AIX prior     to AIX 3.2.4 include a version of the IBM assembler which does not     accept debugging directives: assembler updates are available as     PTFs.  Also, if you are using AIX 3.2.5 or greater and the GNU     assembler, you must have a version modified after October 16th,     1995 in order for the GNU C compiler to build.  See the 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     assumptions that are incompatible with the calling conventions.     AIX on the RS/6000 provides support (NLS) for environments outside     of the United States.  Compilers and assemblers use NLS to support     locale-specific representations of various objects including     floating-point numbers ("." vs "," for separating decimal     fractions).  There have been problems reported where the library     linked with GNU CC does not produce the same floating-point     formats that the assembler accepts.  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 AIX 4.1, you may now receive warnings of duplicate symbols     from the link step that were not reported before.  The assembly     files generated by GNU CC for AIX have always included multiple     symbol definitions for certain global variable and function     declarations in the original program.  The warnings should not     prevent the linker from producing a correct library or runnable     executable.     By default, AIX 4.1 produces code that can be used on either Power     or PowerPC processors.     You can specify a default version for the `-mcpu='CPU_TYPE switch     by using the configure option `--with-cpu-'CPU_TYPE.`powerpc-*-elf'`powerpc-*-sysv4'     PowerPC system in big endian mode, running System V.4.     You can specify a default version for the `-mcpu='CPU_TYPE switch     by using the configure option `--with-cpu-'CPU_TYPE.`powerpc-*-linux-gnu'     PowerPC system in big endian mode, running the Linux-based GNU     system.     You can specify a default version for the `-mcpu='CPU_TYPE switch     by using the configure option `--with-cpu-'CPU_TYPE.`powerpc-*-eabiaix'     Embedded PowerPC system in big endian mode with -mcall-aix     selected as the default.     You can specify a default version for the `-mcpu='CPU_TYPE switch     by using the configure option `--with-cpu-'CPU_TYPE.`powerpc-*-eabisim'     Embedded PowerPC system in big endian mode for use in running     under the PSIM simulator.     You can specify a default version for the `-mcpu='CPU_TYPE switch     by using the configure option `--with-cpu-'CPU_TYPE.`powerpc-*-eabi'     Embedded PowerPC system in big endian mode.     You can specify a default version for the `-mcpu='CPU_TYPE switch     by using the configure option `--with-cpu-'CPU_TYPE.`powerpcle-*-elf'`powerpcle-*-sysv4'     PowerPC system in little endian mode, running System V.4.     You can specify a default version for the `-mcpu='CPU_TYPE switch     by using the configure option `--with-cpu-'CPU_TYPE.`powerpcle-*-solaris2*'     PowerPC system in little endian mode, running Solaris 2.5.1 or     higher.     You can specify a default version for the `-mcpu='CPU_TYPE switch     by using the configure option `--with-cpu-'CPU_TYPE.  Beta     versions of the Sun 4.0 compiler do not seem to be able to build     GNU CC correctly.  There are also problems with the host assembler     and linker that are fixed by using the GNU versions of these tools.`powerpcle-*-eabisim'     Embedded PowerPC system in little endian mode for use in running     under the PSIM simulator.`powerpcle-*-eabi'     Embedded PowerPC system in little endian mode.     You can specify a default version for the `-mcpu='CPU_TYPE switch     by using the configure option `--with-cpu-'CPU_TYPE.`powerpcle-*-winnt'`powerpcle-*-pe'     PowerPC system in little endian mode running Windows NT.     You can specify a default version for the `-mcpu='CPU_TYPE switch     by using the configure option `--with-cpu-'CPU_TYPE.`vax-dec-ultrix'     Don't try compiling with Vax C (`vcc').  It produces incorrect code     in some cases (for example, when `alloca' is used).     Meanwhile, compiling `cp/parse.c' with pcc does not work because of     an internal table size limitation in that compiler.  To avoid this     problem, compile just the GNU C compiler first, and use it to     recompile building all the languages that you want to run.`sparc-sun-*'     See *Note Sun Install::, for information on installing GNU CC on     Sun systems.`vax-dec-vms'     See *Note VMS Install::, for details on how to install GNU CC on     VMS.`we32k-*-*'     These computers are also known as the 3b2, 3b5, 3b20 and other     similar names.  (However, the 3b1 is actually a 68000; see *Note     Configurations::.)     Don't use `-g' when compiling with the system's compiler.  The     system's linker seems to be unable to handle such a large program     with debugging information.     The system's compiler runs out of capacity when compiling `stmt.c'     in GNU CC.  You can work around this by building `cpp' in GNU CC     first, then use that instead of the system's preprocessor with the     system's C compiler to compile `stmt.c'.  Here is how:          mv /lib/cpp /lib/cpp.att          cp cpp /lib/cpp.gnu          echo '/lib/cpp.gnu -traditional ${1+"$@"}' > /lib/cpp          chmod +x /lib/cpp     The system's compiler produces bad code for some of the GNU CC     optimization files.  So you must build the stage 2 compiler without     optimization.  Then build a stage 3 compiler with optimization.     That executable should work.  Here are the necessary commands:          make LANGUAGES=c CC=stage1/xgcc CFLAGS="-Bstage1/ -g"          make stage2          make CC=stage2/xgcc CFLAGS="-Bstage2/ -g -O"     You may need to raise the ULIMIT setting to build a C++ compiler,     as the file `cc1plus' is larger than one megabyte.Compilation in a Separate Directory===================================   If 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:  1. Make sure you have a version of Make that supports the `VPATH'     feature.  (GNU Make supports it, as do Make versions on most BSD     systems.)  2. If you have ever run `configure' in the source directory, you must     undo the configuration.  Do this by running:          make distclean  3. Go to the directory in which you want to build the compiler before     running `configure':          mkdir gcc-sun3          cd gcc-sun3     On systems that do not support symbolic links, this directory must     be on the same file system as the source code directory.  4. Specify where to find `configure' when you run it:          ../gcc/configure ...     This also tells `configure' where to find the compiler sources;     `configure' takes the directory from the file name that was used to     invoke it.  But if you want to be sure, you can specify the source     directory with the `--srcdir' option, like this:          ../gcc/configure --srcdir=../gcc OTHER OPTIONS     The directory you specify with `--srcdir' need not be the same as     the one that `configure' is found in.   Now, you can run `make' in that directory.  You need not repeat theconfiguration steps shown above, when ordinary source files change.  Youmust, however, run `configure' again when the configuration fileschange, if your system does not support symbolic links.Building and Installing a Cross-Compiler========================================   GNU CC can function as a cross-compiler for many machines, but notall.   * Cross-compilers for the Mips as target using the Mips assembler     currently do not work, because the auxiliary programs     `mips-tdump.c' and `mips-tfile.c' can't be compiled on anything     but a Mips.  It does work to cross compile for a Mips if you use     the GNU assembler and linker.   * Cross-compilers between machines with different floating point     formats have not all been made to work.  GNU CC now has a floating     point emulator with which these can work, but each target machine     description needs to be updated to take advantage of it.   * Cross-compilation between machines of different word

⌨️ 快捷键说明

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