This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: New port: Renesas RL78


> Please could you include a gas documentation file anyway, even if it is 
> pretty boring.

Attached.

> Also, please could you add entries to the gas/NEWS and ld/NEWS file 
> mentioning support for the new architecture.

Also attached.

> Do you have a gas testsuite sub-directory for the RL78 ?

Sorry, I don't.  The port was "proven" by running Coremark on RL78/G13
and RL78/G14 hardware.


	* NEWS: Add Renesas RL78.

	* doc/Makefile.am (c-rl78.texi): New.
	* doc/Makefile.in: Likewise.
	* doc/all.texi: Enable it.
	* doc/as.texi: Add it.

Index: gas/NEWS
===================================================================
RCS file: /cvs/src/src/gas/NEWS,v
retrieving revision 1.120
diff -p -U5 -r1.120  gas/NEWS
--- gas/NEWS	25 Oct 2011 11:18:06 -0000	1.120
+++ gas/NEWS	28 Oct 2011 02:25:15 -0000
@@ -1,7 +1,9 @@
 -*- text -*-
 
+* Add support for the Renesas RL78 architecture.
+
 * Add support for the Adapteva EPIPHANY architecture.
 
 Changes in 2.22:
 
 * Add support for the Tilera TILEPRO and TILE-Gx architectures.
Index: ld/NEWS
===================================================================
RCS file: /cvs/src/src/ld/NEWS,v
retrieving revision 1.122
diff -p -U5 -r1.122  ld/NEWS
--- ld/NEWS	25 Oct 2011 11:18:12 -0000	1.122
+++ ld/NEWS	28 Oct 2011 02:25:16 -0000
@@ -1,7 +1,9 @@
 -*- text -*-
 
+* Add support for the Renesas RL78 architecture.
+
 * Add support for the Adapteva EPIPHANY architecture.
 
 Changes in 2.22:
 
 * --copy-dt-needed-entries is no longer enabled by default.  Instead
Index: gas/doc/Makefile.am
===================================================================
RCS file: /cvs/src/src/gas/doc/Makefile.am,v
retrieving revision 1.63
diff -p -U5 -r1.63  gas/doc/Makefile.am
--- gas/doc/Makefile.am	25 Oct 2011 11:18:08 -0000	1.63
+++ gas/doc/Makefile.am	28 Oct 2011 02:25:16 -0000
@@ -57,10 +57,11 @@ CPU_DOCS = \
 	c-msp430.texi \
 	c-ns32k.texi \
 	c-pdp11.texi \
 	c-pj.texi \
 	c-ppc.texi \
+	c-rl78.texi \
 	c-rx.texi \
 	c-s390.texi \
 	c-score.texi \
 	c-sh.texi \
 	c-sh64.texi \
Index: gas/doc/Makefile.in
===================================================================
RCS file: /cvs/src/src/gas/doc/Makefile.in,v
retrieving revision 1.114
diff -p -U5 -r1.114  gas/doc/Makefile.in
--- gas/doc/Makefile.in	25 Oct 2011 11:18:08 -0000	1.114
+++ gas/doc/Makefile.in	28 Oct 2011 02:25:16 -0000
@@ -297,10 +297,11 @@ CPU_DOCS = \
 	c-msp430.texi \
 	c-ns32k.texi \
 	c-pdp11.texi \
 	c-pj.texi \
 	c-ppc.texi \
+	c-rl78.texi \
 	c-rx.texi \
 	c-s390.texi \
 	c-score.texi \
 	c-sh.texi \
 	c-sh64.texi \
Index: gas/doc/all.texi
===================================================================
RCS file: /cvs/src/src/gas/doc/all.texi,v
retrieving revision 1.40
diff -p -U5 -r1.40  gas/doc/all.texi
--- gas/doc/all.texi	25 Oct 2011 11:18:08 -0000	1.40
+++ gas/doc/all.texi	28 Oct 2011 02:25:16 -0000
@@ -58,10 +58,11 @@
 @set MSP430
 @set NS32K
 @set PDP11
 @set PJ
 @set PPC
+@set RL78
 @set RX
 @set S390
 @set SCORE
 @set SH
 @set SPARC
Index: gas/doc/as.texinfo
===================================================================
RCS file: /cvs/src/src/gas/doc/as.texinfo,v
retrieving revision 1.243
diff -p -U5 -r1.243  gas/doc/as.texinfo
--- gas/doc/as.texinfo	26 Oct 2011 12:14:17 -0000	1.243
+++ gas/doc/as.texinfo	28 Oct 2011 02:25:17 -0000
@@ -6943,10 +6943,13 @@ subject, see the hardware manufacturer's
 * PJ-Dependent::                picoJava Dependent Features
 @end ifset
 @ifset PPC
 * PPC-Dependent::               PowerPC Dependent Features
 @end ifset
+@ifset RL78
+* RL78-Dependent::              RL78 Dependent Features
+@end ifset
 @ifset RX
 * RX-Dependent::                RX Dependent Features
 @end ifset
 @ifset S390
 * S/390-Dependent::             IBM S/390 Dependent Features
@@ -7140,10 +7143,14 @@ family.
 
 @ifset PPC
 @include c-ppc.texi
 @end ifset
 
+@ifset RL78
+@include c-rl78.texi
+@end ifset
+
 @ifset RX
 @include c-rx.texi
 @end ifset
 
 @ifset S390
Index: gas/doc/c-rl78.texi
===================================================================
RCS file: gas/doc/c-rl78.texi
diff -N  gas/doc/c-rl78.texi
--- gas/doc/c-rl78.texi	1 Jan 1970 00:00:00 -0000
+++ gas/doc/c-rl78.texi	28 Oct 2011 02:25:17 -0000
@@ -0,0 +1,121 @@
+@c Copyright 2011
+@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 RL78-Dependent
+@chapter RL78 Dependent Features
+@end ifset
+@ifclear GENERIC
+@node Machine Dependencies
+@chapter RL78 Dependent Features
+@end ifclear
+
+@cindex RL78 support
+@menu
+* RL78-Opts::                   RL78 Assembler Command Line Options
+* RL78-Modifiers::              Symbolic Operand Modifiers
+* RL78-Directives::             Assembler Directives
+* RL78-Float::                  Floating Point
+* RL78-Syntax::                 Syntax
+@end menu
+
+@node RL78-Opts
+@section RL78 Options
+@cindex options, RL78
+@cindex RL78 options
+
+The Renesas RL78 port of @code{@value{AS}} has no target-specific
+options.
+
+@node RL78-Modifiers
+@section Symbolic Operand Modifiers
+
+@cindex RL78 modifiers
+@cindex syntax, RL78
+
+The RL78 has three modifiers that adjust the relocations used by the
+linker:
+
+@table @code
+
+@item %lo16()
+
+When loading a 20-bit (or wider) address into registers, this modifier
+selects the 16 least significant bits.
+
+@smallexample
+  movw ax,#%lo16(_sym)
+@end smallexample
+
+@item %hi16()
+
+When loading a 20-bit (or wider) address into registers, this modifier
+selects the 16 most significant bits.
+
+@smallexample
+  movw ax,#%hi16(_sym)
+@end smallexample
+
+@item %hi8()
+
+When loading a 20-bit (or wider) address into registers, this modifier
+selects the 8 bits that would go into CS or ES (i.e. bits 23..16).
+
+@smallexample
+  mov es, #%hi8(_sym)
+@end smallexample
+
+@end table
+
+@node RL78-Directives
+@section Assembler Directives
+
+@cindex assembler directives, RL78
+@cindex RL78 assembler directives
+
+In addition to the common directives, the RL78 adds these:
+
+@table @code
+
+@item .double
+Output a constant in ``double'' format, which is a 32-bit floating
+point value on RL78.
+
+@item .bss
+Select the BSS section.
+
+@item .3byte
+Output a constant value in a three byte format.
+
+@item .int
+@itemx .word
+Output a constant value in a four byte format.
+
+@end table
+
+@node RL78-Syntax
+@section Syntax for the RL78
+@menu
+* RL78-Chars::                Special Characters
+@end menu
+
+@node RL78-Chars
+@subsection Special Characters
+
+@cindex line comment character, RL78
+@cindex RL78 line comment character
+The presence of a @samp{;} appearing anywhere on a line indicates the
+start of a comment that extends to the end of that line.
+
+If a @samp{#} appears as the first character of a line then the whole
+line is treated as a comment, but in this case the line can also be a
+logical line number directive (@pxref{Comments}) or a preprocessor
+control command (@pxref{Preprocessing}).
+
+@cindex line separator, RL78
+@cindex statement separator, RL78
+@cindex RL78 line separator
+The @samp{|} character can be used to separate statements on the same
+line.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]