home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 8 / FreshFishVol8-CD1.bin / gnu / info / gcc.info-6 (.txt) < prev    next >
GNU Info File  |  1994-12-22  |  49KB  |  879 lines

  1. This is Info file gcc.info, produced by Makeinfo-1.55 from the input
  2. file gcc.texi.
  3.    This file documents the use and the internals of the GNU compiler.
  4.    Published by the Free Software Foundation 675 Massachusetts Avenue
  5. Cambridge, MA 02139 USA
  6.    Copyright (C) 1988, 1989, 1992, 1993, 1994 Free Software Foundation,
  7.    Permission is granted to make and distribute verbatim copies of this
  8. manual provided the copyright notice and this permission notice are
  9. preserved on all copies.
  10.    Permission is granted to copy and distribute modified versions of
  11. this manual under the conditions for verbatim copying, provided also
  12. that the sections entitled "GNU General Public License," "Funding for
  13. Free Software," and "Protect Your Freedom--Fight `Look And Feel'" are
  14. included exactly as in the original, and provided that the entire
  15. resulting derived work is distributed under the terms of a permission
  16. notice identical to this one.
  17.    Permission is granted to copy and distribute translations of this
  18. manual into another language, under the above conditions for modified
  19. versions, except that the sections entitled "GNU General Public
  20. License," "Funding for Free Software," and "Protect Your Freedom--Fight
  21. `Look And Feel'", and this permission notice, may be included in
  22. translations approved by the Free Software Foundation instead of in the
  23. original English.
  24. File: gcc.info,  Node: Configurations,  Next: Other Dir,  Up: Installation
  25. Configurations Supported by GNU CC
  26. ==================================
  27.    Here are the possible CPU types:
  28.      1750a, a29k, alpha, arm, cN, clipper, dsp16xx, elxsi, h8300,
  29.      hppa1.0, hppa1.1, i370, i386, i486, i860, i960, m68000, m68k, m88k,
  30.      mips, ns32k, powerpc, pyramid, romp, rs6000, sh, sparc, sparclite,
  31.      sparc64, vax, we32k.
  32.    Here are the recognized company names.  As you can see, customary
  33. abbreviations are used rather than the longer official names.
  34.      acorn, alliant, altos, apollo, att, bull, cbm, convergent, convex,
  35.      crds, dec, dg, dolphin, elxsi, encore, harris, hitachi, hp, ibm,
  36.      intergraph, isi, mips, motorola, ncr, next, ns, omron, plexus,
  37.      sequent, sgi, sony, sun, tti, unicom.
  38.    The company name is meaningful only to disambiguate when the rest of
  39. the information supplied is insufficient.  You can omit it, writing
  40. just `CPU-SYSTEM', if it is not needed.  For example, `vax-ultrix4.2'
  41. is equivalent to `vax-dec-ultrix4.2'.
  42.    Here is a list of system types:
  43.      386bsd, aix, acis, amigados, aos, aout, bosx, bsd, clix, ctix,
  44.      cxux, dgux, dynix, ebmon, elf, esix, freebsd, hms, genix, gnu,
  45.      gnu/linux, hiux, hpux, iris, irix, isc, luna, lynxos, mach, minix,
  46.      msdos, mvs, netbsd, newsos, nindy, ns, osf, osfrose, ptx, riscix,
  47.      riscos, rtu, sco, solaris, sunos, sym, sysv, ultrix, unicos,
  48.      uniplus, unos, vms, vxworks, xenix.
  49. You can omit the system type; then `configure' guesses the operating
  50. system from the CPU and company.
  51.    You can add a version number to the system type; this may or may not
  52. make a difference.  For example, you can write `bsd4.3' or `bsd4.4' to
  53. distinguish versions of BSD.  In practice, the version number is most
  54. needed for `sysv3' and `sysv4', which are often treated differently.
  55.    If you specify an impossible combination such as `i860-dg-vms', then
  56. you may get an error message from `configure', or it may ignore part of
  57. the information and do the best it can with the rest.  `configure'
  58. always prints the canonical name for the alternative that it used.  GNU
  59. CC does not support all possible alternatives.
  60.    Often a particular model of machine has a name.  Many machine names
  61. are recognized as aliases for CPU/company combinations.  Thus, the
  62. machine name `sun3', mentioned above, is an alias for `m68k-sun'.
  63. Sometimes we accept a company name as a machine name, when the name is
  64. popularly used for a particular machine.  Here is a table of the known
  65. machine names:
  66.      3300, 3b1, 3bN, 7300, altos3068, altos, apollo68, att-7300,
  67.      balance, convex-cN, crds, decstation-3100, decstation, delta,
  68.      encore, fx2800, gmicro, hp7NN, hp8NN, hp9k2NN, hp9k3NN, hp9k7NN,
  69.      hp9k8NN, iris4d, iris, isi68, m3230, magnum, merlin, miniframe,
  70.      mmax, news-3600, news800, news, next, pbd, pc532, pmax, powerpc,
  71.      ps2, risc-news, rtpc, sun2, sun386i, sun386, sun3, sun4, symmetry,
  72.      tower-32, tower.
  73. Remember that a machine name specifies both the cpu type and the company
  74. name.  If you want to install your own homemade configuration files,
  75. you can use `local' as the company name to access them.  If you use
  76. configuration `CPU-local', the configuration name without the cpu prefix
  77. is used to form the configuration file names.
  78.    Thus, if you specify `m68k-local', configuration uses files
  79. `m68k.md', `local.h', `m68k.c', `xm-local.h', `t-local', and `x-local',
  80. all in the directory `config/m68k'.
  81.    Here is a list of configurations that have special treatment or
  82. special things you must know:
  83. `1750a-*-*'
  84.      MIL-STD-1750A processors.
  85.      Starting with GCC 2.6.1, the MIL-STD-1750A cross configuration no
  86.      longer supports the Tektronix Assembler, but instead produces
  87.      output for `as1750', an assembler/linker available under the GNU
  88.      Public License for the 1750A. Contact *okellogg@salyko.cube.net*
  89.      for more details on obtaining `as1750'.  A similarly licensed
  90.      simulator for the 1750A is available from same address.
  91.      You should ignore a fatal error during the building of libgcc
  92.      (libgcc is not yet implemented for the 1750A.)
  93.      The `as1750' assembler requires the file `ms1750.inc', which is
  94.      found in the directory `config/1750a'.
  95.      GNU CC produced the same sections as the Fairchild F9450 C
  96.      Compiler, namely:
  97.     `NREL'
  98.           The program code section.
  99.     `SREL'
  100.           The read/write (RAM) data section.
  101.     `KREL'
  102.           The read-only (ROM) constants section.
  103.     `IREL'
  104.           Initialization section (code to copy KREL to SREL).
  105.      The smallest addressable unit is 16 bits (BITS_PER_UNIT is 16).
  106.      This means that type `char' is represented with a 16-bit word per
  107.      character.  The 1750A's "Load/Store Upper/Lower Byte" instructions
  108.      are not used by GNU CC.
  109.      There is a problem with long argument lists to functions.  The
  110.      compiler aborts if the sum of space needed by all arguments
  111.      exceeds 14 words.  This is because the arguments are passed in
  112.      registers (R0..R13) not on the stack, and there is a problem with
  113.      passing further arguments (i.e.  beyond those in R0..R13) via the
  114.      stack.
  115.      If efficiency is less important than using long argument lists, you
  116.      can change the definition of the `FUNCTION_ARG' macro in
  117.      `config/1750/1750a.h' to always return zero.  If you do that, GNU
  118.      CC will pass all parameters on the stack.
  119. `alpha-*-osf1'
  120.      Systems using processors that implement the DEC Alpha architecture
  121.      and are running the OSF/1 operating system, for example the DEC
  122.      Alpha AXP systems.  (VMS on the Alpha is not currently supported
  123.      by GNU CC.)
  124.      GNU CC writes a `.verstamp' directive to the assembler output file
  125.      unless it is built as a cross-compiler.  It gets the version to
  126.      use from the system header file `/usr/include/stamp.h'.  If you
  127.      install a new version of OSF/1, you should rebuild GCC to pick up
  128.      the new version stamp.
  129.      Note that since the Alpha is a 64-bit architecture,
  130.      cross-compilers from 32-bit machines will not generate code as
  131.      efficient as that generated when the compiler is running on a
  132.      64-bit machine because many optimizations that depend on being
  133.      able to represent a word on the target in an integral value on the
  134.      host cannot be performed.  Building cross-compilers on the Alpha
  135.      for 32-bit machines has only been tested in a few cases and may
  136.      not work properly.
  137.      `make compare' may fail on old versions of OSF/1 unless you add
  138.      `-save-temps' to `CFLAGS'.  On these systems, the name of the
  139.      assembler input file is stored in the object file, and that makes
  140.      comparison fail if it differs between the `stage1' and `stage2'
  141.      compilations.  The option `-save-temps' forces a fixed name to be
  142.      use