GNU Binutils with patches for OS216
リビジョン | a7425b5e70beee8a84e95f2f8d907d02c60dfd43 (tree) |
---|---|
日時 | 2008-10-11 06:32:51 |
作者 | Michael Snyder <msnyder@vmwa...> |
コミッター | Michael Snyder |
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.
@@ -1,3 +1,13 @@ | ||
1 | +2008-10-10 Michael Snyder <msnyder@vmware.com> | |
2 | + | |
3 | + * gdbfreeplay-back.c (handle_special_case): Add support for | |
4 | + running off the ends of the replay log ('E06'). | |
5 | + | |
6 | +2008-09-10 Michael Snyder <msnyder@vmware.com> | |
7 | + | |
8 | + * gdbfreeplay-back.c (handle_special_case): Add support for | |
9 | + reverse debugging. | |
10 | + | |
1 | 11 | 2008-06-25 Michael Snyder <msnyder@specifix.com> |
2 | 12 | |
3 | 13 | * gdbfreeplay-back.c (frame_find_request): Rewrite loop to |
@@ -710,6 +710,7 @@ static char OK[8] = "$OK#9a"; | ||
710 | 710 | static char EMPTY[8] = "$#00"; |
711 | 711 | static char STOP[8] = "$S00#44"; |
712 | 712 | static char E01[8] = "$E01#a6"; |
713 | +static char E06[8] = "$E06#ab"; | |
713 | 714 | |
714 | 715 | static char * |
715 | 716 | handle_special_case (FILE *infile, int fd, char *request) |
@@ -870,7 +871,12 @@ handle_special_case (FILE *infile, int fd, char *request) | ||
870 | 871 | } |
871 | 872 | else |
872 | 873 | { |
874 | + /* Reached end of replay log. */ | |
873 | 875 | cur_frame = last_cached_frame; |
876 | + gdb_ack (fd); | |
877 | + if (verbose) | |
878 | + fprintf (stdout, "Reached end of replay log.\n"); | |
879 | + return E06; | |
874 | 880 | } |
875 | 881 | |
876 | 882 | /* Find the original event message for this stop event. */ |
@@ -906,13 +912,13 @@ handle_special_case (FILE *infile, int fd, char *request) | ||
906 | 912 | } |
907 | 913 | else |
908 | 914 | { |
909 | - /* WTF? */ | |
915 | + /* If we didn't find an event, we presumably ran off | |
916 | + the end of the replay log. */ | |
910 | 917 | gdb_ack (fd); |
911 | - strcpy (inbuf, "$O5768617420746865206675636b3f"); | |
912 | 918 | if (verbose) |
913 | - fprintf (stdout, "WTF? %s\n", add_checksum (inbuf)); | |
914 | - gdbwriteline (fd, add_checksum (inbuf)); | |
919 | + fprintf (stdout, "Reached beginning of replay log.\n"); | |
915 | 920 | cur_frame = 0; |
921 | + return E06; | |
916 | 922 | } |
917 | 923 | |
918 | 924 | /* Find the original event message for this stop event. */ |