These `-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
doesn't the linker will give an error message - incorrect code will not be
generated.