diff options
author | Steve Chamberlain <sac@cygnus> | 1995-08-09 20:41:16 +0000 |
---|---|---|
committer | Steve Chamberlain <sac@cygnus> | 1995-08-09 20:41:16 +0000 |
commit | 998cfe7df0c342291dfa2b22804beb8f88c72ca9 (patch) | |
tree | 2e9873c400986f756afe59de0cdf79c3f314f7a5 /gdb/remote.c | |
parent | 60e36671ef86f1f1a2387ec751ece0fce6a06b23 (diff) | |
download | gdb-998cfe7df0c342291dfa2b22804beb8f88c72ca9.zip gdb-998cfe7df0c342291dfa2b22804beb8f88c72ca9.tar.gz gdb-998cfe7df0c342291dfa2b22804beb8f88c72ca9.tar.bz2 |
* 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.
Diffstat (limited to 'gdb/remote.c')
-rw-r--r-- | gdb/remote.c | 20 |
1 files changed, 16 insertions, 4 deletions
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) |