summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Snyder <msnyder@specifix.com>2008-10-19 22:15:08 +0000
committerMichael Snyder <msnyder@specifix.com>2008-10-19 22:15:08 +0000
commitd644e23d2f009760a0095d2483ea1b145c35bae0 (patch)
tree3f31d860c45807ae5a639026bf8591250d317746
parent89cae53aca1c74beb27d58b170bad1e1373ea1d3 (diff)
downloadgdb-d644e23d2f009760a0095d2483ea1b145c35bae0.tar.gz
2008-10-13 Michael Snyder <msnyder@vmware.com>
* remote.c (remote_wait): Remove handling of "E6" no_history error. 2008-10-10 Michael Snyder <msnyder@vmware.com> * remote.c (remote_wait): Recognize "replaylog" reply as part of 'T' stop event (NO_HISTORY). Declare "end of replay history" error reply as deprecated.
-rw-r--r--gdb/ChangeLog10
-rw-r--r--gdb/remote.c24
2 files changed, 25 insertions, 9 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 0ef6a20fbf4..79382ee45e0 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -16,6 +16,16 @@
(record_check_insn_num): Ditto.
(_initialize_record): Ditto.
+2008-10-13 Michael Snyder <msnyder@vmware.com>
+
+ * remote.c (remote_wait): Remove handling of "E6" no_history error.
+
+2008-10-10 Michael Snyder <msnyder@vmware.com>
+
+ * remote.c (remote_wait): Recognize "replaylog" reply as part
+ of 'T' stop event (NO_HISTORY).
+ Declare "end of replay history" error reply as deprecated.
+
2008-10-09 Michael Snyder <msnyder@vmware.com>
* reverse.c (exec_reverse_once): Eliminate fixed-size buffer,
diff --git a/gdb/remote.c b/gdb/remote.c
index 6d9ef0bd3de..3c0ffbc84cd 100644
--- a/gdb/remote.c
+++ b/gdb/remote.c
@@ -3616,6 +3616,7 @@ remote_wait (ptid_t ptid, struct target_waitstatus *status)
ptid_t event_ptid = null_ptid;
ULONGEST addr;
int solibs_changed = 0;
+ int replay_event = 0;
status->kind = TARGET_WAITKIND_EXITED;
status->value.integer = 0;
@@ -3659,15 +3660,8 @@ remote_wait (ptid_t ptid, struct target_waitstatus *status)
/* 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);
- if (buf[1] == '0' && buf[2] == '6')
- {
- status->kind = TARGET_WAITKIND_NO_HISTORY;
- }
- else
- {
- status->kind = TARGET_WAITKIND_STOPPED;
- status->value.sig = TARGET_SIGNAL_0;
- }
+ status->kind = TARGET_WAITKIND_STOPPED;
+ status->value.sig = TARGET_SIGNAL_0;
goto got_status;
case 'F': /* File-I/O request. */
remote_fileio_request (buf);
@@ -3734,6 +3728,16 @@ Packet: '%s'\n"),
solibs_changed = 1;
p = p_temp;
}
+ else if (strncmp (p, "replaylog", p1 - p) == 0)
+ {
+ /* NO_HISTORY event.
+ p1 will indicate "begin" or "end", but
+ it makes no difference for now, so ignore it. */
+ replay_event = 1;
+ p_temp = strchr (p1 + 1, ';');
+ if (p_temp)
+ p = p_temp;
+ }
else
{
/* Silently skip unknown optional info. */
@@ -3779,6 +3783,8 @@ Packet: '%s'\n"),
case 'S': /* Old style status, just signal only. */
if (solibs_changed)
status->kind = TARGET_WAITKIND_LOADED;
+ else if (replay_event)
+ status->kind = TARGET_WAITKIND_NO_HISTORY;
else
{
status->kind = TARGET_WAITKIND_STOPPED;