Путеводитель по Руководству Linux

  User  |  Syst  |  Libr  |  Device  |  Files  |  Other  |  Admin  |  Head  |



   gcc    ( 1 )

компилятор C и C ++ проекта GNU (GNU project C and C++ compiler)

  Name  |  Synopsis  |  Description  |  Options  |    Options detail    |  Environment  |  Bugs  |  Note  |  See also  |

Параметры подробно (Options detail)


  Controlling the Kind of Output  |  Compiling C++ Programs  |  Controlling C Dialect  |  Controlling C++ Dialect  |  Controlling Objective-C and Objective-C++ Dialects  |  Control Diagnostic Messages Formatting  |  Request or Suppress Warnings 1  |  Request or Suppress Warnings 2  |  Request or Suppress Warnings 3  |  Debugging Your Program  |  Control Optimization 1  |  Control Optimization 2  |  Control Optimization 3  |  Control Optimization 4  |  Program Instrumentation  |  Controlling the Preprocessor  |  Linking  |  Directory Search  |  Code Generation Conventions  |  GCC Developer  |  Machine-Dependent  |  AArch64  |  Adapteva Epiphany  |  AMD GCN  |  ARC  |  ARM  |  AVR  |  Blackfin  |  C6X  |  CRIS  |  CR16  |  C-SKY  |  Darwin  |  DEC Alpha  |  FR30  |  FT32  |  FRV  |  GNU/Linux  |  H8/300  |  HPPA  |  IA-64  |  LM32  |  M32C  |  M32R/D  |  M680x0  |  MCore  |  MeP  |  MicroBlaze  |  MIPS  |  MMIX  |  MN10300  |  Moxie  |  MSP430  |  NDS32  |  Nios II  |  Nvidia PTX  |  OpenRISC  |  PDP-11  |  picoChip  |  RISC-V  |  RL78  |  IBM RS/6000 and PowerPC  |  RX  |  S/390 and zSeries  |  Score  |  SH  |  Solaris 2  |  SPARC  |  SPU  |  System V  |  TILE-Gx  |  TILEPro  |    V850    |  VAX  |  Visium  |  VMS  |  VxWorks  |  x86 1  |  x86 2  |  x86 Windows  |  Xstormy16  |  Xtensa  |

V850

These -m options are defined for V850 implementations:

       -mlong-calls
       -mno-long-calls
           Treat all calls as being far away (near).  If calls are
           assumed to be far away, the compiler always loads the
           function's address into a register, and calls indirect
           through the pointer.

       -mno-ep
       -mep
           Do not optimize (do optimize) basic blocks that use the same
           index pointer 4 or more times to copy pointer into the "ep"
           register, and use the shorter "sld" and "sst" instructions.
           The -mep option is on by default if you optimize.

       -mno-prolog-function
       -mprolog-function
           Do not use (do use) external functions to save and restore
           registers at the prologue and epilogue of a function.  The
           external functions are slower, but use less code space if
           more than one function saves the same number of registers.
           The -mprolog-function option is on by default if you
           optimize.

       -mspace
           Try to make the code as small as possible.  At present, this
           just turns on the -mep and -mprolog-function options.

       -mtda=n
           Put static or global variables whose size is n bytes or less
           into the tiny data area that register "ep" points to.  The
           tiny data area can hold up to 256 bytes in total (128 bytes
           for byte references).

       -msda=n
           Put static or global variables whose size is n bytes or less
           into the small data area that register "gp" points to.  The
           small data area can hold up to 64 kilobytes.

       -mzda=n
           Put static or global variables whose size is n bytes or less
           into the first 32 kilobytes of memory.

       -mv850
           Specify that the target processor is the V850.

       -mv850e3v5
           Specify that the target processor is the V850E3V5.  The
           preprocessor constant "__v850e3v5__" is defined if this
           option is used.

       -mv850e2v4
           Specify that the target processor is the V850E3V5.  This is
           an alias for the -mv850e3v5 option.

       -mv850e2v3
           Specify that the target processor is the V850E2V3.  The
           preprocessor constant "__v850e2v3__" is defined if this
           option is used.

       -mv850e2
           Specify that the target processor is the V850E2.  The
           preprocessor constant "__v850e2__" is defined if this option
           is used.

       -mv850e1
           Specify that the target processor is the V850E1.  The
           preprocessor constants "__v850e1__" and "__v850e__" are
           defined if this option is used.

       -mv850es
           Specify that the target processor is the V850ES.  This is an
           alias for the -mv850e1 option.

       -mv850e
           Specify that the target processor is the V850E.  The
           preprocessor constant "__v850e__" is defined if this option
           is used.

           If neither -mv850 nor -mv850e nor -mv850e1 nor -mv850e2 nor
           -mv850e2v3 nor -mv850e3v5 are defined then a default target
           processor is chosen and the relevant __v850*__ preprocessor
           constant is defined.

           The preprocessor constants "__v850" and "__v851__" are always
           defined, regardless of which processor variant is the target.

       -mdisable-callt
       -mno-disable-callt
           This option suppresses generation of the "CALLT" instruction
           for the v850e, v850e1, v850e2, v850e2v3 and v850e3v5 flavors
           of the v850 architecture.

           This option is enabled by default when the RH850 ABI is in
           use (see -mrh850-abi), and disabled by default when the GCC
           ABI is in use.  If "CALLT" instructions are being generated
           then the C preprocessor symbol "__V850_CALLT__" is defined.

       -mrelax
       -mno-relax
           Pass on (or do not pass on) the -mrelax command-line option
           to the assembler.

       -mlong-jumps
       -mno-long-jumps
           Disable (or re-enable) the generation of PC-relative jump
           instructions.

       -msoft-float
       -mhard-float
           Disable (or re-enable) the generation of hardware floating
           point instructions.  This option is only significant when the
           target architecture is V850E2V3 or higher.  If hardware
           floating point instructions are being generated then the C
           preprocessor symbol "__FPU_OK__" is defined, otherwise the
           symbol "__NO_FPU__" is defined.

       -mloop
           Enables the use of the e3v5 LOOP instruction.  The use of
           this instruction is not enabled by default when the e3v5
           architecture is selected because its use is still
           experimental.

       -mrh850-abi
       -mghs
           Enables support for the RH850 version of the V850 ABI.  This
           is the default.  With this version of the ABI the following
           rules apply:

           *   Integer sized structures and unions are returned via a
               memory pointer rather than a register.

           *   Large structures and unions (more than 8 bytes in size)
               are passed by value.

           *   Functions are aligned to 16-bit boundaries.

           *   The -m8byte-align command-line option is supported.

           *   The -mdisable-callt command-line option is enabled by
               default.  The -mno-disable-callt command-line option is
               not supported.

           When this version of the ABI is enabled the C preprocessor
           symbol "__V850_RH850_ABI__" is defined.

       -mgcc-abi
           Enables support for the old GCC version of the V850 ABI.
           With this version of the ABI the following rules apply:

           *   Integer sized structures and unions are returned in
               register "r10".

           *   Large structures and unions (more than 8 bytes in size)
               are passed by reference.

           *   Functions are aligned to 32-bit boundaries, unless
               optimizing for size.

           *   The -m8byte-align command-line option is not supported.

           *   The -mdisable-callt command-line option is supported but
               not enabled by default.

           When this version of the ABI is enabled the C preprocessor
           symbol "__V850_GCC_ABI__" is defined.

       -m8byte-align
       -mno-8byte-align
           Enables support for "double" and "long long" types to be
           aligned on 8-byte boundaries.  The default is to restrict the
           alignment of all objects to at most 4-bytes.  When
           -m8byte-align is in effect the C preprocessor symbol
           "__V850_8BYTE_ALIGN__" is defined.

       -mbig-switch
           Generate code suitable for big switch tables.  Use this
           option only if the assembler/linker complain about out of
           range branches within a switch table.

       -mapp-regs
           This option causes r2 and r5 to be used in the code generated
           by the compiler.  This setting is the default.

       -mno-app-regs
           This option causes r2 and r5 to be treated as fixed
           registers.