cba
M32RD_options
Contents|Index|Previous|Next
M32R/D options
The following -m options are defined for Mitsubishi
M32R/D architectures.
-mcode-model=small
Assume all objects live in the lower 16MB of memory (so
that their addresses can be loaded with the ld24 instruction), and assume
all subroutines are reachable with the bl instruction. This is
the default. The addressability of a particular object can be set with
the model attribute.
-mcode-model=medium
Assume objects may be anywhere in the 32 bit address
space (the compiler will generate seth/add3 instructions to load
their addresses), and assume all subroutines are reachable with the bl
instruction.
-mcode-model=large
Assume objects may be anywhere in the 32 bit address
space (the compiler will generate seth/add3 instructions to load their
addresses), and assume subroutines may not be reachable with the bl instruction
(the compiler will generate the much slower seth/add3/jl instruction
sequence).
-msdata=none
Disable use of the small data area. Variables will be
put into one of .data, .bss, or .rodata
(unless the section attribute has been specified). This is the
default.The small data area consists of sections, .sdata and
.sbss. Objects may be explicitly put in the small data area
with the section attribute using one of these sections.
-msdata=sdata
Put small global and static data in the small data area,
but do not generate special code to reference them.
-msdata=use
Put small global and static data in the small data area,
and generate special instructions to reference them.
-G num
Put global and static objects less than or equal to num
bytes into the small data or bss sections instead of the normal data or
bss sections. The default value of num is 8. The -msdata
option must be set to one of sdata or use for this
option to have any effect. All modules should be compiled with the same
-G num value. Compiling with different values of num
may or may not work; if it doesnt, the linker will give an error message:
incorrect code will not be generated.
0