]> sourceware.org Git - newlib-cygwin.git/commitdiff
* rl78/crt0.S: Initialize .saddr. Avoid using SEL.
authorDJ Delorie <dj@redhat.com>
Tue, 20 Jan 2015 18:43:36 +0000 (18:43 +0000)
committerDJ Delorie <dj@redhat.com>
Tue, 20 Jan 2015 18:43:36 +0000 (18:43 +0000)
* rl78/rl78-sim.ld: Add .saddr/.frodata section.
* rl78/rl78.ld: Likewise.
* rl78/rl78-sim.ld: Make room for virtual register banks.
* rl78/rl78.ld: Likewise.

* rl78/vregs.h: New.
* rl78-sys.h: Use it.
* rl78/swrite.S: New.
* rl78/Makefile.in: Build it.
* rl78/write.c: Use it.

libgloss/rl78/swrite.S [new file with mode: 0644]
libgloss/rl78/vregs.h [new file with mode: 0644]

diff --git a/libgloss/rl78/swrite.S b/libgloss/rl78/swrite.S
new file mode 100644 (file)
index 0000000..a9f4158
--- /dev/null
@@ -0,0 +1,41 @@
+/*
+
+Copyright (c) 2011 Red Hat Incorporated.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without 
+modification, are permitted provided that the following conditions are met: 
+
+    Redistributions of source code must retain the above copyright 
+    notice, this list of conditions and the following disclaimer.
+
+    Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in the
+    documentation and/or other materials provided with the distribution.
+
+    The name of Red Hat Incorporated may not be used to endorse 
+    or promote products derived from this software without specific 
+    prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED.  IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+
+*/
+
+#include "rl78-sys.h"
+
+
+       .global __SYS_write
+       .type   __SYS_write, @function
+__SYS_write:
+       SYSCALL(SYS_write)
+       .size   __SYS_write, . - __SYS_write
+
diff --git a/libgloss/rl78/vregs.h b/libgloss/rl78/vregs.h
new file mode 100644 (file)
index 0000000..fa488fa
--- /dev/null
@@ -0,0 +1,56 @@
+
+; real
+; GAS defines r0..r7 as aliases for real registers; we want the saddr
+; forms here.
+r_0    =       0xffef8
+r_1    =       0xffef9
+r_2    =       0xffefa
+r_3    =       0xffefb
+r_4    =       0xffefc
+r_5    =       0xffefd
+r_6    =       0xffefe
+r_7    =       0xffeff
+
+#ifdef __RL78_G10__
+
+; clobberable
+r8     =       0xffec8
+r9     =       0xffec9
+r10    =       0xffeca
+r11    =       0xffecb
+r12    =       0xffecc
+r13    =       0xffecd
+r14    =       0xffece
+r15    =       0xffecf
+; preserved
+r16    =       0xffed0
+r17    =       0xffed1
+r18    =       0xffed2
+r19    =       0xffed3
+r20    =       0xffed4
+r21    =       0xffed5
+r22    =       0xffed6
+r23    =       0xffed7
+
+#else
+
+; clobberable
+r8     =       0xffef0
+r9     =       0xffef1
+r10    =       0xffef2
+r11    =       0xffef3
+r12    =       0xffef4
+r13    =       0xffef5
+r14    =       0xffef6
+r15    =       0xffef7
+; preserved
+r16    =       0xffee8
+r17    =       0xffee9
+r18    =       0xffeea
+r19    =       0xffeeb
+r20    =       0xffeec
+r21    =       0xffeed
+r22    =       0xffeee
+r23    =       0xffeef
+
+#endif
This page took 0.033323 seconds and 5 git commands to generate.