diff options
author | Michael Snyder <msnyder@vmware.com> | 2008-10-10 21:32:51 +0000 |
---|---|---|
committer | Michael Snyder <msnyder@vmware.com> | 2008-10-10 21:32:51 +0000 |
commit | a7425b5e70beee8a84e95f2f8d907d02c60dfd43 (patch) | |
tree | 894cd1825bc43cec4e618824bbaf05709ea529ca | |
parent | 31d80742bdf897861b0755a3b949f844c5327ae0 (diff) | |
download | fsf-binutils-gdb-reverse-20080717-branch.zip fsf-binutils-gdb-reverse-20080717-branch.tar.gz fsf-binutils-gdb-reverse-20080717-branch.tar.bz2 |
2008-10-10 Michael Snyder <msnyder@vmware.com>reverse-20080717-branch
* gdbfreeplay-back.c (handle_special_case): Add support for
running off the ends of the replay log ('E06').
2008-09-10 Michael Snyder <msnyder@vmware.com>
* gdbfreeplay-back.c (handle_special_case): Add support for
reverse debugging.
-rw-r--r-- | gdb/gdbserver/ChangeLog | 10 | ||||
-rw-r--r-- | gdb/gdbserver/gdbfreeplay-back.c | 14 |
2 files changed, 20 insertions, 4 deletions
diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog index 33f68ba..0fb03f6 100644 --- a/gdb/gdbserver/ChangeLog +++ b/gdb/gdbserver/ChangeLog @@ -1,3 +1,13 @@ +2008-10-10 Michael Snyder <msnyder@vmware.com> + + * gdbfreeplay-back.c (handle_special_case): Add support for + running off the ends of the replay log ('E06'). + +2008-09-10 Michael Snyder <msnyder@vmware.com> + + * gdbfreeplay-back.c (handle_special_case): Add support for + reverse debugging. + 2008-06-25 Michael Snyder <msnyder@specifix.com> * gdbfreeplay-back.c (frame_find_request): Rewrite loop to diff --git a/gdb/gdbserver/gdbfreeplay-back.c b/gdb/gdbserver/gdbfreeplay-back.c index 7d7cf41..f014328 100644 --- a/gdb/gdbserver/gdbfreeplay-back.c +++ b/gdb/gdbserver/gdbfreeplay-back.c @@ -710,6 +710,7 @@ static char OK[8] = "$OK#9a"; static char EMPTY[8] = "$#00"; static char STOP[8] = "$S00#44"; static char E01[8] = "$E01#a6"; +static char E06[8] = "$E06#ab"; static char * handle_special_case (FILE *infile, int fd, char *request) @@ -870,7 +871,12 @@ handle_special_case (FILE *infile, int fd, char *request) } else { + /* Reached end of replay log. */ cur_frame = last_cached_frame; + gdb_ack (fd); + if (verbose) + fprintf (stdout, "Reached end of replay log.\n"); + return E06; } /* Find the original event message for this stop event. */ @@ -906,13 +912,13 @@ handle_special_case (FILE *infile, int fd, char *request) } else { - /* WTF? */ + /* If we didn't find an event, we presumably ran off + the end of the replay log. */ gdb_ack (fd); - strcpy (inbuf, "$O5768617420746865206675636b3f"); if (verbose) - fprintf (stdout, "WTF? %s\n", add_checksum (inbuf)); - gdbwriteline (fd, add_checksum (inbuf)); + fprintf (stdout, "Reached beginning of replay log.\n"); cur_frame = 0; + return E06; } /* Find the original event message for this stop event. */ |