• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

GNU Binutils with patches for OS216


Commit MetaInfo

Revisiona21dae9c0bbd529cff3265dabf7585497092a42a (tree)
Time2008-06-22 11:36:30
AuthorMichael Snyder <msnyder@vmwa...>
CommiterMichael Snyder

Log Message

2008-06-21 Michael Snyder <msnyder@specifix.com>

Add support for 'R' packet (restart).
* gdbfreeplay-back.c (handle_special_case). Add support for 'R'.
Remove support for "monitor gdbfreeplay-echo".

Change Summary

Incremental Difference

--- a/gdb/gdbserver/ChangeLog
+++ b/gdb/gdbserver/ChangeLog
@@ -1,5 +1,9 @@
11 2008-06-21 Michael Snyder <msnyder@specifix.com>
22
3+ Add support for 'R' packet (restart).
4+ * gdbfreeplay-back.c (handle_special_case). Add support for 'R'.
5+ Remove support for "monitor gdbfreeplay-echo".
6+
37 Add support for 'O' packet output.
48 * remote-breakpoint.h (PLAY_O_PACKETS): New enum const.
59 * gdbfreeplay-back.c (StopFrame): Discard gpos, replace with Opos.
--- a/gdb/gdbserver/gdbfreeplay-back.c
+++ b/gdb/gdbserver/gdbfreeplay-back.c
@@ -700,23 +700,16 @@ handle_special_case (FILE *infile, int fd, char *request)
700700 return OK;
701701 }
702702
703- /* Handle "monitor gdbfreeplay-echo"
704- (just to get a handle on the 'O' message). */
705- if ((p = strstr (request, monitor_echo)) != NULL)
703+ /* Handle 'R' (restart) request.
704+ This is an extended-remote request that is not really used any more,
705+ but we can send it out-of-band (using "maint packet") to effectively
706+ set the replay buffer back to the beginning. */
707+ if (strstr (request, "$R#52") != NULL)
706708 {
707- /* OK, this will be an ascii-fied string. */
708- p += strlen (monitor_echo);
709- /* Skip spaces */
710- while (p[0] == '2' && p[1] == '0')
711- p += 2; /* skip a space */
712-
713- while (p[0] && p[0] != '#')
714- {
715- c = hex_to_int (*p++) << 4;
716- c += hex_to_int (*p++);
717- fputc (c, stdout);
718- }
719- fprintf (stdout, "\n");
709+ /* Reset replay buffer to beginning. */
710+ /* NOTE: gdb doesn't know about target state changing, so
711+ if you use this, you must accompany it with "flushregs". */
712+ cur_frame = 0;
720713 return OK;
721714 }
722715