aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog7
-rw-r--r--gdb/remote-hms.c4
-rw-r--r--gdb/remote.c20
3 files changed, 25 insertions, 6 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 3ada3b6..bc2467a 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,10 @@
+Sat Aug 5 09:07:28 1995 steve chamberlain <sac@slash.cygnus.com>
+
+ * remote-hms.c (hms_cmds): Get reg term right.
+ * monitor.c (monitor_fetch_register): If we see
+ a non-hex digit, just stop reading.
+ * remote.c (remote_wait): Change way $O is handled.
+
Wed Aug 9 11:42:36 1995 Jeffrey A. Law <law@rtl.cygnus.com>
* configure.in (powerpc-*-aix*): Recognize as a new gdb host
diff --git a/gdb/remote-hms.c b/gdb/remote-hms.c
index dbbf316..b985172 100644
--- a/gdb/remote-hms.c
+++ b/gdb/remote-hms.c
@@ -113,7 +113,7 @@ static struct monitor_ops hms_cmds =
"\003", /* getmem.term_cmd */
},
{
- "\003r %s=%x\r", /* setreg.cmd (name, value) */
+ "r %s=%x\r", /* setreg.cmd (name, value) */
NULL, /* setreg.resp_delim */
NULL, /* setreg.term */
NULL /* setreg.term_cmd */
@@ -121,7 +121,7 @@ static struct monitor_ops hms_cmds =
{
"r %s\r", /* getreg.cmd (name) */
" (", /* getreg.resp_delim */
- "):", /* getreg.term */
+ ":", /* getreg.term */
"\003", /* getreg.term_cmd */
},
"r\r", /* dump_registers */
diff --git a/gdb/remote.c b/gdb/remote.c
index 103bf15..afd1a28 100644
--- a/gdb/remote.c
+++ b/gdb/remote.c
@@ -15,7 +15,7 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
-Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* Remote communication protocol.
@@ -130,11 +130,13 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
targets.
or... XAA The process terminated with signal
AA.
- or... Otext Send text to stdout. This can happen
- at any time while the program is
+ or... OXX..XX XX..XX is hex encoding of ASCII data. This
+ can happen at any time while the program is
running and the debugger should
continue to wait for 'W', 'T', etc.
+ or... Otext Send text to stdout.
+
thread alive TXX Find out if the thread XX is alive.
reply OK thread is still alive
ENN thread is dead
@@ -812,7 +814,17 @@ Packet: '%s'\n",
goto got_status;
case 'O': /* Console output */
- fputs_filtered ((char *)(buf + 1), gdb_stdout);
+ for (p = buf + 1; *p; p +=2)
+ {
+ char tb[2];
+ char c = fromhex (p[0]) * 16 + fromhex (p[1]);
+ tb[0] = c;
+ tb[1] = 0;
+ if (target_output_hook)
+ target_output_hook (tb);
+ else
+ fputs_filtered (tb, gdb_stdout);
+ }
continue;
case '\0':
if (last_sent_signal != TARGET_SIGNAL_0)