install.texi

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

TEXI
1,605
字号
The company name is meaningful only to disambiguate when the rest ofthe information supplied is insufficient.  You can omit it, writingjust @samp{@var{cpu}-@var{system}}, if it is not needed.  For example,@samp{vax-ultrix4.2} is equivalent to @samp{vax-dec-ultrix4.2}.Here is a list of system types:@quotation386bsd, aix, acis, amigaos, aos, aout, aux, bosx, bsd, clix, coff, ctix, cxux,dgux, dynix, ebmon, ecoff, elf, esix, freebsd, hms, genix, gnu, linux-gnu,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.@end quotation@noindentYou can omit the system type; then @file{configure} guesses theoperating system 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 @samp{bsd4.3} or@samp{bsd4.4} to distinguish versions of BSD.  In practice, the versionnumber is most needed for @samp{sysv3} and @samp{sysv4}, which are oftentreated differently.If you specify an impossible combination such as @samp{i860-dg-vms},then you may get an error message from @file{configure}, or it mayignore part of the information and do the best it can with the rest.@file{configure} always prints the canonical name for the alternativethat it used.  GNU CC does not support all possible alternatives.Often a particular model of machine has a name.  Many machine names arerecognized as aliases for CPU/company combinations.  Thus, the machinename @samp{sun3}, mentioned above, is an alias for @samp{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:@quotation3300, 3b1, 3b@var{n}, 7300, altos3068, altos,apollo68, att-7300, balance,convex-c@var{n}, crds, decstation-3100,decstation, delta, encore,fx2800, gmicro, hp7@var{nn}, hp8@var{nn},hp9k2@var{nn}, hp9k3@var{nn}, hp9k7@var{nn},hp9k8@var{nn}, 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.@end quotation@noindentRemember that a machine name specifies both the cpu type and the companyname.If you want to install your own homemade configuration files, you canuse @samp{local} as the company name to access them.  If you useconfiguration @samp{@var{cpu}-local}, the configuration namewithout the cpu prefixis used to form the configuration file names.Thus, if you specify @samp{m68k-local}, configuration usesfiles @file{m68k.md}, @file{local.h}, @file{m68k.c},@file{xm-local.h}, @file{t-local}, and @file{x-local}, all in thedirectory @file{config/m68k}.Here is a list of configurations that have special treatment or specialthings you must know:@table @samp@item 1750a-*-*MIL-STD-1750A processors.The MIL-STD-1750A cross configuration produces output for@code{as1750}, an assembler/linker available under the GNU PublicLicense for the 1750A. @code{as1750} can be obtained at @emph{ftp://ftp.fta-berlin.de/pub/crossgcc/1750gals/}.A similarly licensed simulator forthe 1750A is available from same address.You should ignore a fatal error during the building of libgcc (libgcc isnot yet implemented for the 1750A.)The @code{as1750} assembler requires the file @file{ms1750.inc}, which isfound in the directory @file{config/1750a}.GNU CC produced the same sections as the Fairchild F9450 C Compiler,namely:@table @code@item NormalThe program code section.@item StaticThe read/write (RAM) data section.@item KonstThe read-only (ROM) constants section.@item InitInitialization section (code to copy KREL to SREL).@end tableThe smallest addressable unit is 16 bits (BITS_PER_UNIT is 16).  Thismeans that type `char' is represented with a 16-bit word per character.The 1750A's "Load/Store Upper/Lower Byte" instructions are not used byGNU CC.@item alpha-*-osf1Systems using processors that implement the DEC Alpha architecture andare running the DEC Unix (OSF/1) operating system, for example the DECAlpha AXP systems.CC.)GNU CC writes a @samp{.verstamp} directive to the assembler output fileunless it is built as a cross-compiler.  It gets the version to use fromthe system header file @file{/usr/include/stamp.h}.  If you install anew version of DEC Unix, you should rebuild GCC to pick up the new versionstamp.Note that since the Alpha is a 64-bit architecture, cross-compilers from32-bit machines will not generate code as efficient as that generatedwhen the compiler is running on a 64-bit machine because manyoptimizations that depend on being able to represent a word on thetarget in an integral value on the host cannot be performed.  Buildingcross-compilers on the Alpha for 32-bit machines has only been tested ina few cases and may not work properly.@code{make compare} may fail on old versions of DEC Unix 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 add@samp{-save-temps}, you will have to manually delete the @samp{.i} and@samp{.s} files after each series of compilations.GNU CC now supports both the native (ECOFF) debugging format used by DBXand GDB and an encapsulated STABS format for use only with GDB.  See thediscussion of the @samp{--with-stabs} option of @file{configure} abovefor more information on these formats and how to select them.There is a bug in DEC's assembler that produces incorrect line numbersfor ECOFF format when the @samp{.align} directive is used.  To workaround this problem, GNU CC will not emit such alignment directiveswhile writing ECOFF format debugging information even if optimization isbeing performed.  Unfortunately, this has the very undesirableside-effect that code addresses when @samp{-O} is specified aredifferent depending on whether or not @samp{-g} is also specified.To avoid this behavior, specify @samp{-gstabs+} and use GDB instead ofDBX.  DEC is now aware of this problem with the assembler and hopes toprovide a fix shortly.@item arc-*-elfArgonaut ARC processor.This configuration is intended for embedded systems.@item arm-*-aoutAdvanced RISC Machines ARM-family processors.  These are often used inembedded applications.  There are no standard Unix configurations.This configuration corresponds to the basic instruction sequences and willproduce @file{a.out} format object modules.You may need to make a variant of the file @file{arm.h} for your particularconfiguration.@item arm-*-linuxaoutAny of the ARM family processors running the Linux-based GNU system withthe @file{a.out} binary format (ELF is not yet supported).  You must useversion 2.8.1.0.7 or later of the GNU/Linux binutils, which you can downloadfrom @file{sunsite.unc.edu:/pub/Linux/GCC} and other mirror sites forLinux-based GNU systems.@item arm-*-riscixThe ARM2 or ARM3 processor running RISC iX, Acorn's port of BSD Unix.If you are running a version of RISC iX prior to 1.2 then you mustspecify the version number during configuration.  Note that theassembler shipped with RISC iX does not support stabs debugginginformation; a new version of the assembler, with stabs supportincluded, is now available from Acorn and via ftp@file{ftp.acorn.com:/pub/riscix/as+xterm.tar.Z}.  To enable stabsdebugging, pass @samp{--with-gnu-as} to configure.You will need to install GNU @file{sed} before you can run configure.@item a29kAMD Am29k-family processors.  These are normally used in embeddedapplications.  There are no standard Unix configurations.This configurationcorresponds to AMD's standard calling sequence and binary interfaceand is compatible with other 29k tools.You may need to make a variant of the file @file{a29k.h} for yourparticular configuration.@item a29k-*-bsdAMD Am29050 used in a system running a variant of BSD Unix.@item decstation-*DECstations can support three different personalities: Ultrix,DEC OSF/1, and OSF/rose.  To configure GCC for these platformsuse the following configurations:@table @samp@item decstation-ultrixUltrix configuration.@item decstation-osf1Dec's version of OSF/1.@item decstation-osfroseOpen Software Foundation reference port of OSF/1 which uses theOSF/rose object file format instead of ECOFF.  Normally, youwould not select this configuration.@end tableThe 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}.@item elxsi-elxsi-bsdThe Elxsi's C compiler has known limitations that prevent it fromcompiling GNU C.  Please contact @code{mrs@@cygnus.com} for more details.@item dsp16xxA port to the AT&T DSP1610 family of processors.@ignore@item fx80Alliant FX/8 computer.  Note that the standard installed C compiler inConcentrix 5.0 has a bug which prevent it from compiling GNU CCcorrectly.  You can patch the compiler bug as follows:@smallexamplecp /bin/pcc ./pccadb -w ./pcc - << EOF15f6?w 6610EOF@end smallexampleThen you must use the @samp{-ip12} option when compiling GNU CCwith the patched compiler, as shown here:@smallexamplemake CC="./pcc -ip12" CFLAGS=-w@end smallexampleNote also that Alliant's version of DBX does not manage to work with theoutput from GNU CC.@end ignore@item h8300-*-*Hitachi H8/300 series of processors.The calling convention and structure layout has changed in release 2.6.All code must be recompiled.  The calling convention now passes thefirst three arguments in function calls in registers.  Structures are nolonger a multiple of 2 bytes.@item hppa*-*-*There are several variants of the HP-PA processor which run a varietyof operating systems.  GNU CC must be configured to use the correctprocessor type and operating system, or GNU CC will not function correctly.The easiest way to handle this problem is to @emph{not} specify a targetwhen configuring GNU CC, the @file{configure} script will try to automaticallydetermine the right processor type and operating system.@samp{-g} does not work on HP-UX, since that system uses a peculiardebugging format which GNU CC does not know about.  However, @samp{-g}will work if you also use GAS and GDB in conjunction with GCC.  Wehighly recommend using GAS for all HP-PA configurations.You should be using GAS-2.6 (or later) along with GDB-4.16 (or later).  Thesecan be retrieved from all the traditional GNU ftp archive sites.GAS will need to be installed into a directory before @code{/bin},@code{/usr/bin}, and @code{/usr/ccs/bin} in your search path.  Youshould install GAS before you build GNU CC.To enable debugging, you must configure GNU CC with the @samp{--with-gnu-as}option before building.@item i370-*-*This port is very preliminary and has many known bugs.  We hope tohave a higher-quality port for this machine soon.@item i386-*-linux-gnuoldldUse this configuration to generate @file{a.out} binaries on Linux-basedGNU systems if you do not have gas/binutils version 2.5.2 or laterinstalled. This is an obsolete configuration.@item i386-*-linux-gnuaoutUse this configuration to generate @file{a.out} binaries on Linux-basedGNU systems. This configuration is being superseded. You must usegas/binutils version 2.5.2 or later.@item i386-*-linux-gnuUse this configuration to generate ELF binaries on Linux-based GNUsystems.  You must use gas/binutils version 2.5.2 or later.@item i386-*-scoCompilation with RCC is recommended.  Also, it may be a good idea tolink with GNU malloc instead of the malloc that comes with the system.@item i386-*-sco3.2v4Use this configuration for SCO release 3.2 version 4.@item i386-*-sco3.2v5*Use this for the SCO OpenServer Release family including 5.0.0, 5.0.2, 5.0.4, Internet FastStart 1.0, and Internet FastStart 1.1.GNU CC can generate ELF binaries (if you specify @samp{-melf}) or COFF 

⌨️ 快捷键说明

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