summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Snyder <msnyder@specifix.com>2008-09-22 17:26:54 +0000
committerMichael Snyder <msnyder@specifix.com>2008-09-22 17:26:54 +0000
commitf768d6556c7f832b93c50152f8194c93e4464c7e (patch)
treec4dcca14b69db90b37b78c30ff36ede20b4a51f8
parent09a2d58518485eca30ba808d9af217ba5e3040e4 (diff)
downloadgdb-f768d6556c7f832b93c50152f8194c93e4464c7e.tar.gz
2008-09-19 Michael Snyder <msnyder@vmware.com>
* record.c (record_wait): On end of record log, return TARGET_WAITKIND_NO_HISTORY and let infrun decide what to do.
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/record.c20
2 files changed, 15 insertions, 10 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index e3cb35f464b..da3ea1fc6f4 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2008-09-19 Michael Snyder <msnyder@vmware.com>
+
+ * record.c (record_wait): On end of record log, return
+ TARGET_WAITKIND_NO_HISTORY and let infrun decide what to do.
+
2008-09-19 Hui Zhu <teawater@gmail.com>
* record.c (record_wait): Fix the bug of forware step after
diff --git a/gdb/record.c b/gdb/record.c
index 54b600a554f..c32bb6aaf0b 100644
--- a/gdb/record.c
+++ b/gdb/record.c
@@ -551,22 +551,23 @@ record_wait (ptid_t ptid, struct target_waitstatus *status)
record_list = record_list->next;
}
- /* Loop over the record_list, looking for the next place to stop. */
+ /* Loop over the record_list, looking for the next place to
+ stop. */
+ status->kind = TARGET_WAITKIND_STOPPED;
do
{
- /* check state */
- if (record_execdir == EXEC_REVERSE && record_list == &record_first)
+ /* Check for beginning and end of log. */
+ if (record_execdir == EXEC_REVERSE
+ && record_list == &record_first)
{
- fprintf_unfiltered (gdb_stdlog,
- "Record: running to the begin of record list.\n");
- stop_soon = STOP_QUIETLY;
+ /* Hit beginning of record log in reverse. */
+ status->kind = TARGET_WAITKIND_NO_HISTORY;
break;
}
if (record_execdir != EXEC_REVERSE && !record_list->next)
{
- fprintf_unfiltered (gdb_stdlog,
- "Record: running to the end of record list.\n");
- stop_soon = STOP_QUIETLY;
+ /* Hit end of record log going forward. */
+ status->kind = TARGET_WAITKIND_NO_HISTORY;
break;
}
@@ -722,7 +723,6 @@ next:
perror_with_name (_("Record: sigaction"));
}
- status->kind = TARGET_WAITKIND_STOPPED;
if (record_get_sig)
{
status->value.sig = TARGET_SIGNAL_INT;