home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 8 / FreshFishVol8-CD1.bin / gnu / info / gcc.info-4 (.txt) < prev    next >
GNU Info File  |  1994-12-22  |  50KB  |  959 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: Convex Options,  Next: AMD29K Options,  Prev: SPARC Options,  Up: Submodel Options
  25. Convex Options
  26. --------------
  27.    These `-m' options are defined for Convex:
  28. `-mc1'
  29.      Generate output for C1.  The code will run on any Convex machine.
  30.      The preprocessor symbol `__convex__c1__' is defined.
  31. `-mc2'
  32.      Generate output for C2.  Uses instructions not available on C1.
  33.      Scheduling and other optimizations are chosen for max performance
  34.      on C2.  The preprocessor symbol `__convex_c2__' is defined.
  35. `-mc32'
  36.      Generate output for C32xx.  Uses instructions not available on C1.
  37.      Scheduling and other optimizations are chosen for max performance
  38.      on C32.  The preprocessor symbol `__convex_c32__' is defined.
  39. `-mc34'
  40.      Generate output for C34xx.  Uses instructions not available on C1.
  41.      Scheduling and other optimizations are chosen for max performance
  42.      on C34.  The preprocessor symbol `__convex_c34__' is defined.
  43. `-mc38'
  44.      Generate output for C38xx.  Uses instructions not available on C1.
  45.      Scheduling and other optimizations are chosen for max performance
  46.      on C38.  The preprocessor symbol `__convex_c38__' is defined.
  47. `-margcount'
  48.      Generate code which puts an argument count in the word preceding
  49.      each argument list.  This is compatible with regular CC, and a few
  50.      programs may need the argument count word.  GDB and other
  51.      source-level debuggers do not need it; this info is in the symbol
  52.      table.
  53. `-mnoargcount'
  54.      Omit the argument count word.  This is the default.
  55. `-mvolatile-cache'
  56.      Allow volatile references to be cached.  This is the default.
  57. `-mvolatile-nocache'
  58.      Volatile references bypass the data cache, going all the way to
  59.      memory.  This is only needed for multi-processor code that does
  60.      not use standard synchronization instructions.  Making
  61.      non-volatile references to volatile locations will not necessarily
  62.      work.
  63. `-mlong32'
  64.      Type long is 32 bits, the same as type int.  This is the default.
  65. `-mlong64'
  66.      Type long is 64 bits, the same as type long long.  This option is
  67.      useless, because no library support exists for it.
  68. File: gcc.info,  Node: AMD29K Options,  Next: ARM Options,  Prev: Convex Options,  Up: Submodel Options
  69. AMD29K Options
  70. --------------
  71.    These `-m' options are defined for the AMD Am29000:
  72. `-mdw'
  73.      Generate code that assumes the `DW' bit is set, i.e., that byte and
  74.      halfword operations are directly supported by the hardware.  This
  75.      is the default.
  76. `-mndw'
  77.      Generate code that assumes the `DW' bit is not set.
  78. `-mbw'
  79.      Generate code that assumes the system supports byte and halfword
  80.      write operations.  This is the default.
  81. `-mnbw'
  82.      Generate code that assumes the systems does not support byte and
  83.      halfword write operations.  `-mnbw' implies `-mndw'.
  84. `-msmall'
  85.      Use a small memory model that assumes that all function addresses
  86.      are either within a single 256 KB segment or at an absolute
  87.      address of less than 256k.  This allows the `call' instruction to
  88.      be used instead of a `const', `consth', `calli' sequence.
  89. `-mnormal'
  90.      Use the normal memory model: Generate `call' instructions only when
  91.      calling functions in the same file and `calli' instructions
  92.      otherwise.  This works if each file occupies less than 256 KB but
  93.      allows the entire executable to be larger than 256 KB.  This is
  94.      the default.
  95. `-mlarge'
  96.      Always use `calli' instructions.  Specify this option if you expect
  97.      a single file to compile into more than 256 KB of code.
  98. `-m29050'
  99.      Generate code for the Am29050.
  100. `-m29000'
  101.      Generate code for the Am29000.  This is the default.
  102. `-mkernel-registers'
  103.      Generate references to registers `gr64-gr95' instead of to
  104.      registers `gr96-gr127'.  This option can be used when compiling
  105.      kernel code that wants a set of global registers disjoint from
  106.      that used by user-mode code.
  107.      Note that when this option is used, register names in `-f' flags
  108.      must use the normal, user-mode, names.
  109. `-muser-registers'
  110.      Use the normal set of global registers, `gr96-gr127'.  This is the
  111.      default.
  112. `-mstack-check'
  113. `-mno-stack-check'
  114.      Insert (or do not insert) a call to `__msp_check' after each stack
  115.      adjustment.  This is often used for kernel code.
  116. `-mstorem-bug'
  117. `-mno-storem-bug'
  118.      `-mstorem-bug' handles 29k processors which cannot handle the
  119.      separation of a mtsrim insn and a storem instruction (most 29000
  120.      chips to date, but not the 29050).
  121. `-mno-reuse-arg-regs'
  122. `-mreuse-arg-regs'
  123.      `-mno-reuse-arg-regs' tells the compiler to only use incoming
  124.      argument registers for copying out arguments.  This helps detect
  125.      calling a function with fewer arguments than it was declared with.
  126. `-msoft-float'
  127.      Generate output containing library calls for floating point.
  128.      *Warning:* the requisite libraries are not part of GNU CC.
  129.      Normally the facilities of the machine's usual C compiler are
  130.      used, but this can't be done directly in cross-compilation.  You
  131.      must make your own arrangements to provide suitable library
  132.      functions for cross-compilation.
  133. File: gcc.info,  Node: ARM Options,  Next: M88K Options,  Prev: AMD29K Options,  Up: Submodel Options
  134. ARM Options
  135. -----------
  136.    These `-m' options are defined for Advanced RISC Machines (ARM)
  137. architectures:
  138. `-m2'
  139. `-m3'
  140.      These options are identical.  Generate code for the ARM2 and ARM3
  141.      processors.  This option is the default.  You should also use this
  142.      option to generate code for ARM6 processors that are running with a
  143.      26-bit program counter.
  144. `-m6'
  145.      Generate code for the ARM6 processor when running with a 32-bit
  146.      program counter.
  147. `-mapcs'
  148.      Generate a stack frame that is compliant with the ARM Proceedure
  149.      Call Standard for all functions, even if this is not strictly
  150.      necessary for correct execution of the code.
  151. `-mbsd'
  152.      This option only applies to RISC iX.  Emulate the native BSD-mode
  153.      compiler.  This is the default if `-ansi' is not specified.
  154. `-mxopen'
  155.      This option only applies to RISC iX.  Emulate the native
  156.      X/Open-mode compiler.
  157. `-mno-symrename'
  158.      This option only applies to RISC iX.  Do not run the assembler
  159.      post-processor, `symrename', after code has been assembled.
  160.      Normally it is necessary to modify some of the standard symbols in
  161.      preparation for linking with the RISC iX C library; this option
  162.      suppresses this pass.  The post-processor is never run when the
  163.      compiler is built for cross-compilation.
  164. File: gcc.info,  Node: M88K Options,  Next: RS/6000 and PowerPC Options,  Prev: ARM Options,  Up: Submodel Options
  165. M88K Options
  166. ------------
  167.    These `-m' options are defined for Motorola 88k architectures:
  168. `-m88000'
  169.      Generate code that works well