diff options
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/remote.c | 12 |
2 files changed, 15 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 13b37ce..f5afe11 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,10 @@ 2008-02-27 Daniel Jacobowitz <dan@codesourcery.com> + * remote.c (remote_wait, remote_async_wait): Stop if we receive + an error. + +2008-02-27 Daniel Jacobowitz <dan@codesourcery.com> + * utils.c (debug_timestamp): New. (vfprintf_unfiltered): Print timestamps if requested. (show_debug_timestamp): New. diff --git a/gdb/remote.c b/gdb/remote.c index 3f50ff2..a5349b4 100644 --- a/gdb/remote.c +++ b/gdb/remote.c @@ -3403,8 +3403,12 @@ remote_wait (ptid_t ptid, struct target_waitstatus *status) switch (buf[0]) { case 'E': /* Error of some sort. */ + /* We're out of sync with the target now. Did it continue or not? + Not is more likely, so report a stop. */ warning (_("Remote failure reply: %s"), buf); - continue; + status->kind = TARGET_WAITKIND_STOPPED; + status->value.sig = TARGET_SIGNAL_0; + goto got_status; case 'F': /* File-I/O request. */ remote_fileio_request (buf); continue; @@ -3631,8 +3635,12 @@ remote_async_wait (ptid_t ptid, struct target_waitstatus *status) switch (buf[0]) { case 'E': /* Error of some sort. */ + /* We're out of sync with the target now. Did it continue or not? + Not is more likely, so report a stop. */ warning (_("Remote failure reply: %s"), buf); - continue; + status->kind = TARGET_WAITKIND_STOPPED; + status->value.sig = TARGET_SIGNAL_0; + goto got_status; case 'F': /* File-I/O request. */ remote_fileio_request (buf); continue; |