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

📄 install.texi

📁 gcc库的原代码,对编程有很大帮助.
💻 TEXI
📖 第 1 页 / 共 5 页
字号:
cross-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 armAdvanced 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 a.out format object modules.You may need to make a variant of the file @file{arm.h} for your particularconfiguration.@item arm-*-riscixThe ARM2 or ARM3 processor running RISC iX, Acorn's port of BSD Unix.  Ifyou are running a version of RISC iX prior to 1.2 then you must specifythe version number during configuration.  Note that the assembler shipped with RISC iX does not support stabs debugging information; anew version of the assembler, with stabs support included, is nowavailable from Acorn.@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-*-*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 two variants of this CPU, called 1.0 and 1.1, which havedifferent machine descriptions.  You must use the right one for yourmachine.  All 7@var{nn} machines and 8@var{n}7 machines use 1.1, whileall other 8@var{nn} machines use 1.0.The easiest way to handle this problem is to use @samp{configurehp@var{nnn}} or @samp{configure hp@var{nnn}-hpux}, where @var{nnn} isthe model number of the machine.  Then @file{configure} will figure outif the machine is a 1.0 or 1.1.  Use @samp{uname -a} to find out themodel number of your machine.@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.3 (or later) along with GDB-4.12 (or later).  Thesecan be retrieved from all the traditional GNU ftp archive sites.  Build GAS and install the resulting binary as:@example/usr/local/lib/gcc-lib/@var{configuration}/@var{gccversion}/as@end example@noindentwhere @var{configuration} is the configuration name (perhaps@samp{hp@var{nnn}-hpux}) and @var{gccversion} is the GNU CC versionnumber.  Do this @emph{before} starting the build process, otherwise you willget errors from the HPUX assembler while building @file{libgcc2.a}.  Thecommand @examplemake install-dir@end example@noindentwill create the necessary directory hierarchy so you can install GAS beforebuilding GCC.To enable debugging, configure GNU CC with the @samp{--with-gnu-as} optionbefore building.It has been reported that GNU CC produces invalid assembly code for1.1 machines running HP-UX 8.02 when using the HP assembler.  Typicallythe errors look like this:@exampleas: bug.s @@line#15 [err#1060]  Argument 0 or 2 in FARG upper         - lookahead = ARGW1=FR,RTNVAL=GRas: foo.s @@line#28 [err#1060]  Argument 0 or 2 in FARG upper         - lookahead = ARGW1=FR@end exampleYou can check the version of HP-UX you are running by executing the command@samp{uname -r}.   If you are indeed running HP-UX 8.02 on a PA and using the HP assembler then configure GCC with "hp@var{nnn}-hpux8.02".@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-*-linuxoldldUse this configuration to generate a.out binaries on Linux if you do nothave gas/binutils version 2.5.2 or later installed. This is an obsoleteconfiguration.@item i386-*-linuxaoutUse this configuration to generate a.out binaries on Linux. This configurationis being superseded. You must use gas/binutils version 2.5.2 orlater.@item i386-*-linuxUse this configuration to generate ELF binaries on Linux.  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-*-iscIt may be a good idea to link with GNU malloc instead of the malloc thatcomes with the system.In ISC version 4.1, @file{sed} core dumps when building@file{deduced.h}.  Use the version of @file{sed} from version 4.0.@item i386-*-esixIt may be good idea to link with GNU malloc instead of the malloc thatcomes with the system.@item i386-ibm-aixYou need to use GAS version 2.1 or later, and and LD fromGNU binutils version 2.2 or later.@item i386-sequent-bsdGo to the Berkeley universe before compiling.  In addition, you probablyneed to create a file named @file{string.h} containing just one line:@samp{#include <strings.h>}.@item i386-sequent-ptx1*Sequent DYNIX/ptx 1.x.@item i386-sequent-ptx2*Sequent DYNIX/ptx 2.x.@item i386-sun-sunos4You may find that you need another version of GNU CC to beginbootstrapping with, since the current version when built with thesystem's own compiler seems to get an infinite loop compiling part of@file{libgcc2.c}.  GNU CC version 2 compiled with GNU CC (any version)seems not to have this problem.See @ref{Sun Install}, for information on installing GNU CC on Sunsystems.@item i[345]86-*-winnt3.5This version requires a GAS that has not let been released.  Until itis, you can get a prebuilt binary version via anonymous ftp from@file{cs.washington.edu:pub/gnat} or @file{cs.nyu.edu:pub/gnat}. Youmust also use the Microsoft header files from the Windows NT 3.5 SDK.Find these on the CDROM in the @file{/mstools/h} directory dated 9/4/94.  Youmust use a fixed version of Microsoft linker made especially for NT 3.5,which is also is available on the NT 3.5 SDK CDROM.  If you do not havethis linker, can you also use the linker from Visual C/C++ 1.0 or 2.0.Installing GNU CC for NT builds a wrapper linker, called @file{ld.exe},which mimics the behaviour of Unix @file{ld} in the specification oflibraries (@samp{-L} and @samp{-l}).  @file{ld.exe} looks for both Unixand Microsoft named libraries.  For example, if you specify@samp{-lfoo}, @file{ld.exe} will look first for @file{libfoo.a}and then for @file{foo.lib}.You may install GNU CC for Windows NT in one of two ways, depending onwhether or not you have a Unix-like shell and various Unix-likeutilities.@enumerate@itemIf you do not have a Unix-like shell and few Unix-like utilities, youwill use a DOS style batch script called @file{configure.bat}.  Invokeit as @code{configure winnt} from an MSDOS console window or from theprogram manager dialog box.  @file{configure.bat} assumes you havealready installed and have in your path a Unix-like @file{sed} programwhich is used to create a working @file{Makefile} from @file{Makefile.in}.@file{Makefile} uses the Microsoft Nmake program maintenance utility andthe Visual C/C++ V8.00 compiler to build GNU CC.  You need only have theutilities @file{sed} and @file{touch} to use this installation method,which only automatically builds the compiler itself.  You must thenexamine what @file{fixinc.winnt} does, edit the header files by hand andbuild @file{libgcc.a} manually.@itemThe second type of installation assumes you are running a Unix-likeshell, have a complete suite of Unix-like utilities in your path, andhave a previous version of GNU CC already installed, either throughbuilding it via the above installation method or acquiring a pre-builtbinary.  In this case, use the @file{configure} script in the normalfashion.@end enumerate@item i860-intel-osf1This is the Paragon.@ifset INSTALLONLYIf you have version 1.0 of the operating system, you need to takespecial steps to build GNU CC due to peculiarities of the system.  Newersystem versions have no problem.  See the section `Installation Problems'in the GNU CC Manual.@end ifset@ifclear INSTALLONLYIf you have version 1.0 of the operating system,see @ref{Installation Problems}, for special things you need to do tocompensate for peculiarities in the system.@end ifclear@item *-lynx-lynxosLynxOS 2.2 and earlier comes with GNU CC 1.x already installed as@file{/bin/gcc}.  You should compile with this instead of @file{/bin/cc}.You can tell GNU CC to use the GNU assembler and linker, by specifying@samp{--with-gnu-as --with-gnu-ld} when configuring.  These will produceCOFF format object files and executables;  otherwise GNU CC will use theinstalled tools, which produce a.out format executables.@item m68000-hp-bsdHP 9000 series 200 running BSD.  Note that the C compiler that comeswith this system cannot compile GNU CC; contact @code{law@@cs.utah.edu}to get binaries of GNU CC for bootstrapping.@item m68k-altosAltos 3068.  You must use the GNU assembler, linker and debugger.Also, you must fix a kernel bug.  Details in the file @file{README.ALTOS}.@item m68k-att-sysvAT&T 3b1, a.k.a. 7300 PC.  Special procedures are needed to compile GNUCC with this machine's standard C compiler, due to bugs in thatcompiler.  You can bootstrap it more easily with

⌨️ 快捷键说明

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