as: RX-Opts
9.39.1 RX Options
-----------------
The Renesas RX port of 'as' has a few target specific command-line
options:
'-m32bit-doubles'
This option controls the ABI and indicates to use a 32-bit float
ABI. It has no effect on the assembled instructions, but it does
influence the behaviour of the '.double' pseudo-op. This is the
default.
'-m64bit-doubles'
This option controls the ABI and indicates to use a 64-bit float
ABI. It has no effect on the assembled instructions, but it does
influence the behaviour of the '.double' pseudo-op.
'-mbig-endian'
This option controls the ABI and indicates to use a big-endian data
ABI. It has no effect on the assembled instructions, but it does
influence the behaviour of the '.short', '.hword', '.int', '.word',
'.long', '.quad' and '.octa' pseudo-ops.
'-mlittle-endian'
This option controls the ABI and indicates to use a little-endian
data ABI. It has no effect on the assembled instructions, but it
does influence the behaviour of the '.short', '.hword', '.int',
'.word', '.long', '.quad' and '.octa' pseudo-ops. This is the
default.
'-muse-conventional-section-names'
This option controls the default names given to the code (.text),
initialised data (.data) and uninitialised data sections (.bss).
'-muse-renesas-section-names'
This option controls the default names given to the code (.P),
initialised data (.D_1) and uninitialised data sections (.B_1).
This is the default.
'-msmall-data-limit'
This option tells the assembler that the small data limit feature
of the RX port of GCC is being used. This results in the assembler
generating an undefined reference to a symbol called '__gp' for use
by the relocations that are needed to support the small data limit
feature. This option is not enabled by default as it would
otherwise pollute the symbol table.
'-mpid'
This option tells the assembler that the position independent data
of the RX port of GCC is being used. This results in the assembler
generating an undefined reference to a symbol called '__pid_base',
and also setting the RX_PID flag bit in the e_flags field of the
ELF header of the object file.
'-mint-register=NUM'
This option tells the assembler how many registers have been
reserved for use by interrupt handlers. This is needed in order to
compute the correct values for the '%gpreg' and '%pidreg' meta
registers.
'-mgcc-abi'
This option tells the assembler that the old GCC ABI is being used
by the assembled code. With this version of the ABI function
arguments that are passed on the stack are aligned to a 32-bit
boundary.
'-mrx-abi'
This option tells the assembler that the official RX ABI is being
used by the assembled code. With this version of the ABI function
arguments that are passed on the stack are aligned to their natural
alignments. This option is the default.
'-mcpu=NAME'
This option tells the assembler the target CPU type. Currently the
'rx100', 'rx200', 'rx600', 'rx610', 'rxv2', 'rxv3' and 'rxv3-dfpu'
are recognised as valid cpu names. Attempting to assemble an
instructionnot supported by the indicated cpu type will result in
an error message being generated.
'-mno-allow-string-insns'
This option tells the assembler to mark the object file that it is
building as one that does not use the string instructions 'SMOVF',
'SCMPU', 'SMOVB', 'SMOVU', 'SUNTIL' 'SWHILE' or the 'RMPA'
instruction. In addition the mark tells the linker to complain if
an attempt is made to link the binary with another one that does
use any of these instructions.
Note - the inverse of this option, '-mallow-string-insns', is not
needed. The assembler automatically detects the use of the the
instructions in the source code and labels the resulting object
file appropriately. If no string instructions are detected then
the object file is labelled as being one that can be linked with
either string-using or string-banned object files.