diff options
author | Steve Chamberlain <sac@cygnus> | 1995-09-20 16:52:52 +0000 |
---|---|---|
committer | Steve Chamberlain <sac@cygnus> | 1995-09-20 16:52:52 +0000 |
commit | 5897a29e88fc79cc7084811aec69e3bdaccd9150 (patch) | |
tree | 66b434fac383eb80a132ec4a8275b6ceb71a8243 /sim/sh | |
parent | f69e888e4dfa4d47bfc8eefe67ea6ae36455981c (diff) | |
download | gdb-5897a29e88fc79cc7084811aec69e3bdaccd9150.zip gdb-5897a29e88fc79cc7084811aec69e3bdaccd9150.tar.gz gdb-5897a29e88fc79cc7084811aec69e3bdaccd9150.tar.bz2 |
* run.c (sim_callback_write_stdout): New.
* interp.c (trap): Call sim_callback_write_stdout when needed.
Diffstat (limited to 'sim/sh')
-rw-r--r-- | sim/sh/ChangeLog | 5 | ||||
-rw-r--r-- | sim/sh/interp.c | 5 | ||||
-rw-r--r-- | sim/sh/run.c | 8 |
3 files changed, 17 insertions, 1 deletions
diff --git a/sim/sh/ChangeLog b/sim/sh/ChangeLog index 382b22c..d82bbc9 100644 --- a/sim/sh/ChangeLog +++ b/sim/sh/ChangeLog @@ -1,3 +1,8 @@ +Wed Sep 20 09:51:50 1995 steve chamberlain <sac@slash.cygnus.com> + + * run.c (sim_callback_write_stdout): New. + * interp.c (trap): Call sim_callback_write_stdout when needed. + Mon Sep 18 18:42:27 1995 steve chamberlain <sac@slash.cygnus.com> * interp.c (trap): Remove useless code. diff --git a/sim/sh/interp.c b/sim/sh/interp.c index beaf442..c461981 100644 --- a/sim/sh/interp.c +++ b/sim/sh/interp.c @@ -506,7 +506,10 @@ trap (i, regs, memory, maskl, maskw, little_endian) regs[0] = read (regs[5], ptr (regs[6]), regs[7]); break; case SYS_write: - regs[0] = write (regs[5], ptr (regs[6]), regs[7]); + if (regs[5] == 1) + regs[0] = sim_callback_write_stdout (ptr(regs[6]), regs[7]); + else + regs[0] = write (regs[5], ptr (regs[6]), regs[7]); break; case SYS_lseek: regs[0] = lseek (regs[5], regs[6], regs[7]); diff --git a/sim/sh/run.c b/sim/sh/run.c index f039851..587d3af 100644 --- a/sim/sh/run.c +++ b/sim/sh/run.c @@ -165,3 +165,11 @@ printf_filtered (va_alist) vfprintf (stdout, format, args); va_end (args); } + +int +sim_callback_write_stdout (arg, len) + char *arg; + int len; +{ + return write (1, arg, len); +} |