Next: , Previous: Blackfin Options, Up: Submodel Options



3.17.5 CRIS Options

These options are defined specifically for the CRIS ports.

-march= architecture-type
-mcpu= architecture-type

Generate code for the specified architecture. The choices for architecture-type are v3, v8 and v10 for respectively ETRAX 4, ETRAX 100, and ETRAX 100 LX. Default is v0 except for cris-axis-linux-gnu, where the default is v10.

-mtune= architecture-type

Tune to architecture-type everything applicable about the generated code, except for the ABI and the set of available instructions. The choices for architecture-type are the same as for -march= architecture-type.

-mmax-stack-frame= n

Warn when the stack frame of a function exceeds n bytes.

-melinux-stacksize= n

Only available with the cris-axis-aout target. Arranges for indications in the program to the kernel loader that the stack of the program should be set to n bytes.

-metrax4
-metrax100

The options -metrax4 and -metrax100 are synonyms for -march=v3 and -march=v8 respectively.

-mmul-bug-workaround
-mno-mul-bug-workaround

Work around a bug in the muls and mulu instructions for CPU models where it applies. This option is active by default.

-mpdebug

Enable CRIS-specific verbose debug-related information in the assembly code. This option also has the effect to turn off the #NO_APP formatted-code indicator to the assembler at the beginning of the assembly file.

-mcc-init

Do not use condition-code results from previous instruction; always emit compare and test instructions before use of condition codes.

-mno-side-effects

Do not emit instructions with side-effects in addressing modes other than post-increment.

-mstack-align
-mno-stack-align
-mdata-align
-mno-data-align
-mconst-align
-mno-const-align

These options (no-options) arranges (eliminate arrangements) for the stack-frame, individual data and constants to be aligned for the maximum single data access size for the chosen CPU model. The default is to arrange for 32-bit alignment. ABI details such as structure layout are not affected by these options.

-m32-bit
-m16-bit
-m8-bit

Similar to the stack- data- and const-align options above, these options arrange for stack-frame, writable data and constants to all be 32-bit, 16-bit or 8-bit aligned. The default is 32-bit alignment.

-mno-prologue-epilogue
-mprologue-epilogue

With -mno-prologue-epilogue, the normal function prologue and epilogue that sets up the stack-frame are omitted and no return instructions or return sequences are generated in the code. Use this option only together with visual inspection of the compiled code: no warnings or errors are generated when call-saved registers must be saved, or storage for local variable needs to be allocated.

-mno-gotplt
-mgotplt

With -fpic and -fPIC, don't generate (do generate) instruction sequences that load addresses for functions from the PLT part of the GOT rather than (traditional on other architectures) calls to the PLT. The default is -mgotplt.

-maout

Legacy no-op option only recognized with the cris-axis-aout target.

-melf

Legacy no-op option only recognized with the cris-axis-elf and cris-axis-linux-gnu targets.

-melinux

Only recognized with the cris-axis-aout target, where it selects a GNU/linux-like multilib, include files and instruction set for -march=v8.

-mlinux

Legacy no-op option only recognized with the cris-axis-linux-gnu target.

-sim

This option, recognized for the cris-axis-aout and cris-axis-elf arranges to link with input-output functions from a simulator library. Code, initialized data and zero-initialized data are allocated consecutively.

-sim2

Like -sim, but pass linker options to locate initialized data at 0x40000000 and zero-initialized data at 0x80000000.