diff options
author | Mark Alexander <marka@cygnus> | 1998-01-05 23:41:46 +0000 |
---|---|---|
committer | Mark Alexander <marka@cygnus> | 1998-01-05 23:41:46 +0000 |
commit | 352f9e9dc742f6c2bc0f4005c1a3d64c6095863e (patch) | |
tree | ca8266514fbb0edc2a1afb66353894dcb75c2f5b /gdb | |
parent | 7d645eb277ab66b694438d773cfe2b2ea12ddff9 (diff) | |
download | fsf-binutils-gdb-352f9e9dc742f6c2bc0f4005c1a3d64c6095863e.zip fsf-binutils-gdb-352f9e9dc742f6c2bc0f4005c1a3d64c6095863e.tar.gz fsf-binutils-gdb-352f9e9dc742f6c2bc0f4005c1a3d64c6095863e.tar.bz2 |
* monitor.h (MO_PRINT_PROGRAM_OUTPUT): Define.
* monitor.c (monitor_wait): Echo program output.
* dve3900-rom.c (_initialize_r3900_rom): Remove MO_HANDLE_NL flag,
add MO_PRINT_PROGRAM_OUTPUT flag.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 7 | ||||
-rw-r--r-- | gdb/dve3900-rom.c | 6 | ||||
-rw-r--r-- | gdb/monitor.c | 10 | ||||
-rw-r--r-- | gdb/monitor.h | 4 |
4 files changed, 24 insertions, 3 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 471b0bc..4a92022 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,10 @@ +Mon Jan 5 20:21:59 1998 Mark Alexander <marka@cygnus.com> + + * monitor.h (MO_PRINT_PROGRAM_OUTPUT): Define. + * monitor.c (monitor_wait): Echo program output. + * dve3900-rom.c (_initialize_r3900_rom): Remove MO_HANDLE_NL flag, + add MO_PRINT_PROGRAM_OUTPUT flag. + Fri Jan 2 18:48:58 1998 Mark Alexander <marka@cygnus.com> * configure.in: Double up brackets in shell case pattern. diff --git a/gdb/dve3900-rom.c b/gdb/dve3900-rom.c index 511b4fe..766e2d5 100644 --- a/gdb/dve3900-rom.c +++ b/gdb/dve3900-rom.c @@ -403,10 +403,10 @@ r3900_open (args, from_tty) void _initialize_r3900_rom () { - r3900_cmds.flags = MO_HANDLE_NL | - MO_NO_ECHO_ON_OPEN | + r3900_cmds.flags = MO_NO_ECHO_ON_OPEN | MO_ADDR_BITS_REMOVE | - MO_CLR_BREAK_USES_ADDR; + MO_CLR_BREAK_USES_ADDR | + MO_PRINT_PROGRAM_OUTPUT; r3900_cmds.init = r3900_inits; r3900_cmds.cont = "g\r"; diff --git a/gdb/monitor.c b/gdb/monitor.c index 97f5a50..1650800 100644 --- a/gdb/monitor.c +++ b/gdb/monitor.c @@ -798,6 +798,16 @@ monitor_wait (pid, status) } while (resp_len < 0); + /* Print any output characters that were preceded by ^O. */ + if (current_monitor->flags & MO_PRINT_PROGRAM_OUTPUT) + { + int i; + + for (i = 0; i < resp_len - 1; i++) + if (buf[i] == 0x0f) + putchar_unfiltered (buf[++i]); + } + signal (SIGINT, ofunc); timeout = old_timeout; diff --git a/gdb/monitor.h b/gdb/monitor.h index f6c22c6..14d99c9 100644 --- a/gdb/monitor.h +++ b/gdb/monitor.h @@ -201,6 +201,10 @@ struct monitor_ops #define MO_ADDR_BITS_REMOVE 0x100000 +/* If set, then display target program output if prefixed by ^O. */ + +#define MO_PRINT_PROGRAM_OUTPUT 0x200000 + #define SREC_SIZE 160 extern void monitor_open PARAMS ((char *args, struct monitor_ops *ops, |