aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorMark Alexander <marka@cygnus>1998-01-05 23:41:46 +0000
committerMark Alexander <marka@cygnus>1998-01-05 23:41:46 +0000
commit352f9e9dc742f6c2bc0f4005c1a3d64c6095863e (patch)
treeca8266514fbb0edc2a1afb66353894dcb75c2f5b /gdb
parent7d645eb277ab66b694438d773cfe2b2ea12ddff9 (diff)
downloadgdb-352f9e9dc742f6c2bc0f4005c1a3d64c6095863e.zip
gdb-352f9e9dc742f6c2bc0f4005c1a3d64c6095863e.tar.gz
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/ChangeLog7
-rw-r--r--gdb/dve3900-rom.c6
-rw-r--r--gdb/monitor.c10
-rw-r--r--gdb/monitor.h4
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,