• 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

Revision682f50897cb34bbc8976758836c511b63a042f90 (tree)
Time2008-06-23 08:04:04
AuthorMichael Snyder <msnyder@vmwa...>
CommiterMichael Snyder

Log Message

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

* gdbfreeplay-back.c (handle_special_case): No need to re-compose
a T packet (with doctored PC) on any stop signal except SIGTRAP.

Change Summary

Incremental Difference

--- a/gdb/gdbserver/ChangeLog
+++ b/gdb/gdbserver/ChangeLog
@@ -1,5 +1,8 @@
11 2008-06-21 Michael Snyder <msnyder@specifix.com>
22
3+ * gdbfreeplay-back.c (handle_special_case): No need to re-compose
4+ a T packet (with doctored PC) on any stop signal except SIGTRAP.
5+
36 Fix stepping/breakpoint off-by-one issues.
47 * gdbfreeplay-back.c (freeplay_find_event): Fix off-by-one error
58 on last_cached_frame.
--- a/gdb/gdbserver/gdbfreeplay-back.c
+++ b/gdb/gdbserver/gdbfreeplay-back.c
@@ -806,15 +806,17 @@ handle_special_case (FILE *infile, int fd, char *request)
806806 /* Find the original event message for this stop event. */
807807 fseek (infile, stopframe[cur_frame].eventpos, SEEK_SET);
808808 fgets (inbuf, sizeof (inbuf), infile);
809- /* If it's a "$T", give the target a chance to re-compose it
810- (possibly allowing for DECR_PC_AFTER_BREAK). */
811- if ((p = strstr (inbuf, "$T")) != NULL)
809+
810+ /* If it's a "$T05" (SIGTRAP), give the target a chance to
811+ re-compose it (possibly allowing for DECR_PC_AFTER_BREAK).
812+ */
813+ if ((p = strstr (inbuf, "$T05")) != NULL)
812814 return add_checksum (target_compose_T_packet (p,
813815 stopframe[cur_frame].pc,
814816 next_event_frame == -1 ?
815817 0 :
816818 1 /* breakpoint_p */));
817- /* If it's a "$S", just return it (FIXME?) */
819+ /* Otherwise, just return it. */
818820 else
819821 return &inbuf[0];
820822 }
@@ -846,9 +848,11 @@ handle_special_case (FILE *infile, int fd, char *request)
846848 /* Find the original event message for this stop event. */
847849 fseek (infile, stopframe[cur_frame].eventpos, SEEK_SET);
848850 fgets (inbuf, sizeof (inbuf), infile);
849- /* If it's a "$T", give the target a chance to re-compose it
850- (possibly allowing for DECR_PC_AFTER_BREAK). */
851- if ((p = strstr (inbuf, "$T")) != NULL)
851+
852+ /* If it's a "$T05" (SIGTRAP, give the target a chance to
853+ re-compose it (possibly allowing for DECR_PC_AFTER_BREAK).
854+ */
855+ if ((p = strstr (inbuf, "$T05")) != NULL)
852856 return add_checksum (target_compose_T_packet (p,
853857 stopframe[cur_frame].pc,
854858 next_event_frame == -1 ?