summaryrefslogtreecommitdiffstats
path: root/libgloss/rl78/write.c
diff options
context:
space:
mode:
authorDJ Delorie <dj@redhat.com>2015-01-16 22:21:34 +0000
committerDJ Delorie <dj@redhat.com>2015-01-16 22:21:34 +0000
commit70e52cba1b27fe65dc743b44bb73dc1a5c718bbe (patch)
tree0fcaa64a3af83dd1d81ae49b4b3128d2916bc5bb /libgloss/rl78/write.c
parenta62dbcd6e03ff182e7d36ea60d953f447db72d62 (diff)
downloadcygnal-70e52cba1b27fe65dc743b44bb73dc1a5c718bbe.tar.gz
cygnal-70e52cba1b27fe65dc743b44bb73dc1a5c718bbe.tar.bz2
cygnal-70e52cba1b27fe65dc743b44bb73dc1a5c718bbe.zip
* 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.
Diffstat (limited to 'libgloss/rl78/write.c')
-rw-r--r--libgloss/rl78/write.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/libgloss/rl78/write.c b/libgloss/rl78/write.c
index 2adeb94f1..0b4222078 100644
--- a/libgloss/rl78/write.c
+++ b/libgloss/rl78/write.c
@@ -85,11 +85,17 @@ tputc (char c)
SDR00 = c;
}
+/* defaults to 0 unless open() is linked in */
+int _open_present;
+
int
_write(int fd, char *ptr, int len)
{
int rv = len;
+ if (_open_present && fd > 2)
+ return _SYS_write (fd, ptr, len);
+
if (!initted)
init_uart0 ();