⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 install

📁 gcc库的原代码,对编程有很大帮助.
💻
📖 第 1 页 / 共 5 页
字号:
     proper tools in the following stage.     Alternatively, you can do subsequent compilation using a value of     the `PATH' environment variable such that the necessary GNU tools     come before the standard system tools. 12. Recompile the compiler with itself, with this command:          make CC="stage1/xgcc -Bstage1/" CFLAGS="-g -O2"     This is called making the stage 2 compiler.     The command shown above builds compilers for all the supported     languages.  If you don't want them all, you can specify the     languages to build by typing the argument `LANGUAGES="LIST"'.  LIST     should contain one or more words from the list `c', `c++',     `objective-c', and `proto'.  Separate the words with spaces.     `proto' stands for the programs `protoize' and `unprotoize'; they     are not a separate language, but you use `LANGUAGES' to enable or     disable their installation.     If you are going to build the stage 3 compiler, then you might     want to build only the C language in stage 2.     Once you have built the stage 2 compiler, if you are short of disk     space, you can delete the subdirectory `stage1'.     On a 68000 or 68020 system lacking floating point hardware, unless     you have selected a `tm.h' file that expects by default that there     is no such hardware, do this instead:          make CC="stage1/xgcc -Bstage1/" CFLAGS="-g -O2 -msoft-float" 13. If you wish to test the compiler by compiling it with itself one     more time, install any other necessary GNU tools (such as GAS or     the GNU linker) in the `stage2' subdirectory as you did in the     `stage1' subdirectory, then do this:          make stage2          make CC="stage2/xgcc -Bstage2/" CFLAGS="-g -O2"     This is called making the stage 3 compiler.  Aside from the `-B'     option, the compiler options should be the same as when you made     the stage 2 compiler.  But the `LANGUAGES' option need not be the     same.  The command shown above builds compilers for all the     supported languages; if you don't want them all, you can specify     the languages to build by typing the argument `LANGUAGES="LIST"',     as described above.     If you do not have to install any additional GNU tools, you may     use the command          make bootstrap LANGUAGES=LANGUAGE-LIST BOOT_CFLAGS=OPTION-LIST     instead of making `stage1', `stage2', and performing the two     compiler builds. 14. Then compare the latest object files with the stage 2 object     files--they ought to be identical, aside from time stamps (if any).     On some systems, meaningful comparison of object files is     impossible; they always appear "different."  This is currently     true on Solaris and some systems that use ELF object file format.     On some versions of Irix on SGI machines and DEC Unix (OSF/1) on     Alpha systems, you will not be able to compare the files without     specifying `-save-temps'; see the description of individual     systems above to see if you get comparison failures.  You may have     similar problems on other systems.     Use this command to compare the files:          make compare     This will mention any object files that differ between stage 2 and     stage 3.  Any difference, no matter how innocuous, indicates that     the stage 2 compiler has compiled GNU CC incorrectly, and is     therefore a potentially serious bug which you should investigate     and report.     If your system does not put time stamps in the object files, then     this is a faster way to compare them (using the Bourne shell):          for file in *.o; do          cmp $file stage2/$file          done     If you have built the compiler with the `-mno-mips-tfile' option on     MIPS machines, you will not be able to compare the files. 15. Install the compiler driver, the compiler's passes and run-time     support with `make install'.  Use the same value for `CC',     `CFLAGS' and `LANGUAGES' that you used when compiling the files     that are being installed.  One reason this is necessary is that     some versions of Make have bugs and recompile files gratuitously     when you do this step.  If you use the same variable values, those     files will be recompiled properly.     For example, if you have built the stage 2 compiler, you can use     the following command:          make install CC="stage2/xgcc -Bstage2/" CFLAGS="-g -O" LANGUAGES="LIST"     This copies the files `cc1', `cpp' and `libgcc.a' to files `cc1',     `cpp' and `libgcc.a' in the directory     `/usr/local/lib/gcc-lib/TARGET/VERSION', which is where the     compiler driver program looks for them.  Here TARGET is the target     machine type specified when you ran `configure', and VERSION is     the version number of GNU CC.  This naming scheme permits various     versions and/or cross-compilers to coexist.     This also copies the driver program `xgcc' into     `/usr/local/bin/gcc', so that it appears in typical execution     search paths.     On some systems, this command causes recompilation of some files.     This is usually due to bugs in `make'.  You should either ignore     this problem, or use GNU Make.     *Warning: there is a bug in `alloca' in the Sun library.  To avoid     this bug, be sure to install the executables of GNU CC that were     compiled by GNU CC.  (That is, the executables from stage 2 or 3,     not stage 1.)  They use `alloca' as a built-in function and never     the one in the library.*     (It is usually better to install GNU CC executables from stage 2     or 3, since they usually run faster than the ones compiled with     some other compiler.) 16. If you're going to use C++, it's likely that you need to also     install the libg++ distribution.  It should be available from the     same place where you got the GNU C distribution.  Just as GNU C     does not distribute a C runtime library, it also does not include     a C++ run-time library.  All I/O functionality, special class     libraries, etc., are available in the libg++ distribution.Configurations Supported by GNU CC==================================   Here are the possible CPU types:     1750a, a29k, alpha, arm, cN, clipper, dsp16xx, elxsi, h8300,     hppa1.0, hppa1.1, i370, i386, i486, i586, i860, i960, m68000, m68k,     m88k, mips, mipsel, mips64, mips64el, ns32k, powerpc, powerpcle,     pyramid, romp, rs6000, sh, sparc, sparclite, sparc64, vax, we32k.   Here are the recognized company names.  As you can see, customaryabbreviations are used rather than the longer official names.     acorn, alliant, altos, apollo, att, bull, cbm, convergent, convex,     crds, dec, dg, dolphin, elxsi, encore, harris, hitachi, hp, ibm,     intergraph, isi, mips, motorola, ncr, next, ns, omron, plexus,     sequent, sgi, sony, sun, tti, unicom, wrs.   The company name is meaningful only to disambiguate when the rest ofthe information supplied is insufficient.  You can omit it, writingjust `CPU-SYSTEM', if it is not needed.  For example, `vax-ultrix4.2'is equivalent to `vax-dec-ultrix4.2'.   Here is a list of system types:     386bsd, aix, acis, amigados, aos, aout, bosx, bsd, clix, coff,     ctix, cxux, dgux, dynix, ebmon, ecoff, elf, esix, freebsd, hms,     genix, gnu, gnu/linux, hiux, hpux, iris, irix, isc, luna, lynxos,     mach, minix, msdos, mvs, netbsd, newsos, nindy, ns, osf, osfrose,     ptx, riscix, riscos, rtu, sco, sim, solaris, sunos, sym, sysv,     udi, ultrix, unicos, uniplus, unos, vms, vsta, vxworks, winnt,     xenix.You can omit the system type; then `configure' guesses the operatingsystem from the CPU and company.   You can add a version number to the system type; this may or may notmake a difference.  For example, you can write `bsd4.3' or `bsd4.4' todistinguish versions of BSD.  In practice, the version number is mostneeded for `sysv3' and `sysv4', which are often treated differently.   If you specify an impossible combination such as `i860-dg-vms', thenyou may get an error message from `configure', or it may ignore part ofthe information and do the best it can with the rest.  `configure'always prints the canonical name for the alternative that it used.  GNUCC does not support all possible alternatives.   Often a particular model of machine has a name.  Many machine namesare recognized as aliases for CPU/company combinations.  Thus, themachine name `sun3', mentioned above, is an alias for `m68k-sun'.Sometimes we accept a company name as a machine name, when the name ispopularly used for a particular machine.  Here is a table of the knownmachine names:     3300, 3b1, 3bN, 7300, altos3068, altos, apollo68, att-7300,     balance, convex-cN, crds, decstation-3100, decstation, delta,     encore, fx2800, gmicro, hp7NN, hp8NN, hp9k2NN, hp9k3NN, hp9k7NN,     hp9k8NN, iris4d, iris, isi68, m3230, magnum, merlin, miniframe,     mmax, news-3600, news800, news, next, pbd, pc532, pmax, powerpc,     powerpcle, ps2, risc-news, rtpc, sun2, sun386i, sun386, sun3,     sun4, symmetry, tower-32, tower.Remember that a machine name specifies both the cpu type and the companyname.  If you want to install your own homemade configuration files,you can use `local' as the company name to access them.  If you useconfiguration `CPU-local', the configuration name without the cpu prefixis used to form the configuration file names.   Thus, if you specify `m68k-local', configuration uses files`m68k.md', `local.h', `m68k.c', `xm-local.h', `t-local', and `x-local',all in the directory `config/m68k'.   Here is a list of configurations that have special treatment orspecial things you must know:`1750a-*-*'     MIL-STD-1750A processors.     Starting with GCC 2.6.1, the MIL-STD-1750A cross configuration no     longer supports the Tektronix Assembler, but instead produces     output for `as1750', an assembler/linker available under the GNU     Public License for the 1750A. Contact *kellogg@space.otn.dasa.de*     for more details on obtaining `as1750'.  A similarly licensed     simulator for the 1750A is available from same address.     You should ignore a fatal error during the building of libgcc     (libgcc is not yet implemented for the 1750A.)     The `as1750' assembler requires the file `ms1750.inc', which is     found in the directory `config/1750a'.     GNU CC produced the same sections as the Fairchild F9450 C     Compiler, namely:    `Normal'          The program code section.    `Static'          The read/write (RAM) data section.    `Konst'          The read-only (ROM) constants section.    `Init'          Initialization section (code to copy KREL to SREL).     The smallest addressable unit is 16 bits (BITS_PER_UNIT is 16).     This means that type `char' is represented with a 16-bit word per     character.  The 1750A's "Load/Store Upper/Lower Byte" instructions     are not used by GNU CC.`alpha-*-osf1'     Systems using processors that implement the DEC Alpha architecture     and are running the DEC Unix (OSF/1) operating system, for example     the DEC Alpha AXP systems.  (VMS on the Alpha is not currently     supported by GNU CC.)     GNU CC writes a `.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 `/usr/include/stamp.h'.  If you     install a new version of DEC Unix, you should rebuild GCC to pick     up the new version stamp.     Note that since the Alpha is a 64-bit architecture,     cross-compilers from 32-bit machines will not generate code as     efficient as that generated when the compiler is running on a     64-bit machine because many optimizations that depend on being     able to represent a word on the target in an integral value on the     host cannot be performed.  Building cross-compilers on the Alpha     for 32-bit machines has only been tested in a few cases and may     not work properly.     `make compare' may fail on old versions of DEC Unix unless you add     `-save-temps' to `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 `stage1' and `stage2'     compilations.  The option `-save-temps' forces a fixed name to be     used for the assembler input file, instead of a randomly chosen     name in `/tmp'.  Do not add `-save-temps' unless the comparisons     fail without that option.  If you add `-save-temps', you will have     to manually delete the `.i' and `.s' files after each series of     compilations.     GNU CC 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 `--with-stabs' option of     `configure' above for more information on these formats and how to     select them.     There is a bug in DEC's assembler that produces incorrect line     numbers for ECOFF format when the `.align' directive is used.  To     work around this problem, GNU CC will not emit such alignment     directives while writing ECOFF format debugging information even     if optimization is being performed.  Unfortunately, this has the     very undesirable side-effect that code addresses when `-O' is     specified are different depending on whether or not `-g' is also     specified.     To avoid this behavior, specify `-gstabs+' and use GDB instead of

⌨️ 快捷键说明

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