binutils-gdb/gas/doc/c-rx.texi

146 lines
4.2 KiB
Plaintext
Raw Normal View History

bfd * Makefile.am (ALL_MACHINES): Add cpu-rx.lo. (ALL_MACHINES_CFILES): Add cpu-rx.c. (BFD32_BACKENDS): Add elf32-rx.lo. (BFD32_BACKENDS_CFILES): Add elf32-rx.c. * archures.c (bfd_architecture): Add bfd_arch_rx and bfd_mach_rx. Export bfd_rx_arch. (bfd_archures_list): Add bfd_rx_arch. * config.bfd: Add entry for rx-*-elf. * configure.in: Add entries for bfd_elf32_rx_le_vec and bfd_elf32_rx_be_vec. * reloc.c: Add RX relocations. * targets.c: Add RX target vectors. * Makefile.in: Regenerate. * bfd-in2.h: Regenerate. * configure: Regenerate. * libbfd.h: Regenerate. * cpu-rx.c: New file. * elf32-rx.c: New file. binutils * readelf.c: Add support for RX target. * MAINTAINERS: Add DJ and NickC as maintainers for RX. gas * Makefile.am: Add RX target. * configure.in: Likewise. * configure.tgt: Likewise. * read.c (do_repeat_with_expander): New function. * read.h: Provide a prototype for do_repeat_with_expander. * doc/Makefile.am: Add RX target documentation. * doc/all.texi: Likewise. * doc/as.texinfo: Likewise. * Makefile.in: Regenerate. * NEWS: Mention support for RX architecture. * configure: Regenerate. * doc/Makefile.in: Regenerate. * config/rx-defs.h: New file. * config/rx-parse.y: New file. * config/tc-rx.h: New file. * config/tc-rx.c: New file. * doc/c-rx.texi: New file. gas/testsuite * gas/rx: New directory. * gas/rx/*: New set of test cases. * gas/elf/section2.e-rx: New expected output file. * gas/all/gas.exp: Add support for RX target. * gas/elf/elf.exp: Likewise. * gas/lns/lns.exp: Likewise. * gas/macros/macros.exp: Likewise. include * dis-asm.h: Add prototype for print_insn_rx. include/elf * rx.h: New file. include/opcode * rx.h: New file. ld * Makefile.am: Add rules to build RX emulation. * configure.tgt: Likewise. * NEWS: Mention support for RX architecture. * Makefile.in: Regenerate. * emulparams/elf32rx.sh: New file. * emultempl/rxelf.em: New file. opcodes * Makefile.am: Add RX files. * configure.in: Add support for RX target. * disassemble.c: Likewise. * Makefile.in: Regenerate. * configure: Regenerate. * opc2c.c: New file. * rx-decode.c: New file. * rx-decode.opc: New file. * rx-dis.c: New file.
2009-09-29 22:17:19 +08:00
@c Copyright 2008, 2009
@c Free Software Foundation, Inc.
@c This is part of the GAS manual.
@c For copying conditions, see the file as.texinfo.
@ifset GENERIC
@page
@node RX-Dependent
@chapter RX Dependent Features
@end ifset
@ifclear GENERIC
@node Machine Dependencies
@chapter RX Dependent Features
@end ifclear
@cindex RX support
@menu
* RX-Opts:: RX Assembler Command Line Options
* RX-Modifiers:: Symbolic Operand Modifiers
* RX-Directives:: Assembler Directives
* RX-Float:: Floating Point
@end menu
@node RX-Opts
@section RX Options
@cindex options, RX
@cindex RX options
The Renesas RX port of @code{@value{AS}} has a few target specfic
command line options:
@table @code
@cindex @samp{-m32bit-doubles}
@item -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 @samp{.double} pseudo-op.
This is the default.
@cindex @samp{-m64bit-doubles}
@item -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 @samp{.double} pseudo-op.
@cindex @samp{-mbig-endian}
@item -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 @samp{.short}, @samp{.hword}, @samp{.int},
@samp{.word}, @samp{.long}, @samp{.quad} and @samp{.octa} pseudo-ops.
@cindex @samp{-mlittle-endian}
@item -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 @samp{.short}, @samp{.hword}, @samp{.int},
@samp{.word}, @samp{.long}, @samp{.quad} and @samp{.octa} pseudo-ops.
This is the default.
@cindex @samp{-muse-conventional-section-names}
@item -muse-conventional-section-names
This option controls the default names given to the code (.text),
initialised data (.data) and uninitialised data sections (.bss).
@cindex @samp{-muse-renesas-section-names}
@item -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.
@cindex @samp{-msmall-data-limit}
@item -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.
@end table
@node RX-Modifiers
@section Symbolic Operand Modifiers
@cindex RX modifiers
@cindex syntax, RX
The assembler supports several modifiers when using symbol addresses
in RX instruction operands. The general syntax is the following:
@smallexample
%modifier(symbol)
@end smallexample
@table @code
@cindex symbol modifiers
@item %gp
@c FIXME: Add documentation here.
@end table
@node RX-Directives
@section Assembler Directives
@cindex assembler directives, RX
@cindex RX assembler directives
The RX version of @code{@value{AS}} has the following specific
assembler directives:
@table @code
@item .3byte
@cindex assembler directive .3byte, RX
@cindex RX assembler directive .3byte
Inserts a 3-byte value into the output file at the current location.
@end table
@node RX-Float
@section Floating Point
@cindex floating point, RX
@cindex RX floating point
The floating point formats generated by directives are these.
@table @code
@cindex @code{float} directive, RX
@item .float
@code{Single} precision (32-bit) floating point constants.
@cindex @code{double} directive, RX
@item .double
If the @option{-m64bit-doubles} command line option has been specified
then then @code{double} directive generates @code{double} precision
(64-bit) floating point constants, otherwise it generates
@code{single} precision (32-bit) floating point constants. To force
the generation of 64-bit floating point constants used the @code{dc.d}
directive instead.
@end table