mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-02-21 00:07:36 +08:00
* rl78/crt0.S: Initialize .saddr. Avoid using SEL.
* 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.
This commit is contained in:
parent
ae8a802c29
commit
a098aad30b
41
libgloss/rl78/swrite.S
Normal file
41
libgloss/rl78/swrite.S
Normal file
@ -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
|
||||||
|
|
56
libgloss/rl78/vregs.h
Normal file
56
libgloss/rl78/vregs.h
Normal file
@ -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
|
Loading…
x
Reference in New Issue
Block a user