Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Pedro Alves <palves@redhat.com>
To: Yao Qi <yao@codesourcery.com>
Cc: gdb-patches@sourceware.org
Subject: Re: 7.4->7.5 Regression gdb.base/pending.exp with gdbserver  [Re: [PATCH] Dynamic printf for a target agent]
Date: Fri, 27 Jul 2012 16:36:00 -0000	[thread overview]
Message-ID: <5012C373.4050006@redhat.com> (raw)
In-Reply-To: <2625393.59PdMiRRzQ@qiyao.dyndns.org>

On 07/20/2012 03:27 AM, Yao Qi wrote:

>>        /* Skip tokens until we find one that we recognize.  */
>> -      while (*dataptr && *dataptr != 'X' && *dataptr != ';')
>> +      while (*dataptr && *dataptr != ';')
> 
> It seems incorrect to remove "*dataptr != 'X'" out of this condition checking.
> 
> With the breakpoint commands added, the Z packet becomes
> 
>   "Z0xxxxXxxxx,Xxxxx;cmds:xxxxx"
> 
> When parsing this packet, in current (wrong) GDBserver, only the first
> condition ('Xxxxx') in packet is added, and the rest of conditions are skipped,
> which is a mistake.
> 
> The fix is just to revert this change.  Regression tested on x86_64/gdbserver,
> and these fails are fixed.

The original intent of this (before "cmds:" was added) was to skip all the way
to the next ';', in case in the future GDB sends some newer component (the things
in between ';'s.)

We now have "X" and "cmds:".  It seems a little better to not try to always
skip unknown characters and hard code X, but instead skip characters only
when we find we didn't recognize one.

Does this look correct to you?  No regressions on x86_64 Fedora 17.

2012-07-27  Pedro Alves  <palves@redhat.com>

	* server.c (process_point_options): Only skip tokens if we find
	one that is unrecognized.  Don't treat 'X' specially while
	skipping unrecognized tokens.

---

 gdb/gdbserver/server.c |    8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/gdb/gdbserver/server.c b/gdb/gdbserver/server.c
index 4e15b3c..547552f 100644
--- a/gdb/gdbserver/server.c
+++ b/gdb/gdbserver/server.c
@@ -2938,14 +2938,12 @@ process_point_options (CORE_ADDR point_addr, char **packet)
 	}
       else
 	{
-	  /* Unrecognized token, just skip it.  */
 	  fprintf (stderr, "Unknown token %c, ignoring.\n",
 		   *dataptr);
+	  /* Skip tokens until we find one that we recognize.  */
+	  while (*dataptr && *dataptr != ';')
+	    dataptr++;
 	}
-
-      /* Skip tokens until we find one that we recognize.  */
-      while (*dataptr && *dataptr != 'X' && *dataptr != ';')
-	dataptr++;
     }
   *packet = dataptr;
 }


-- 
Pedro Alves


  parent reply	other threads:[~2012-07-27 16:36 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-05-30  1:10 [PATCH] Dynamic printf for a target agent Stan Shebs
2012-05-31  6:02 ` Yao Qi
2012-06-25 15:31   ` Stan Shebs
2012-06-27 20:45     ` Tom Tromey
2012-07-02 18:19       ` Stan Shebs
2012-07-18 19:18         ` 7.4->7.5 Regression gdb.base/pending.exp with gdbserver [Re: [PATCH] Dynamic printf for a target agent] Jan Kratochvil
2012-07-20  2:28           ` Yao Qi
2012-07-25 19:50             ` Jan Kratochvil
2012-07-27  2:32               ` [committed]: " Yao Qi
2012-07-27 16:36             ` Pedro Alves [this message]
2012-07-28 10:24               ` Yao Qi
2012-07-28 11:41                 ` Yao Qi
2012-07-02 16:41     ` Build regression on 64-bit hosts " Jan Kratochvil

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5012C373.4050006@redhat.com \
    --to=palves@redhat.com \
    --cc=gdb-patches@sourceware.org \
    --cc=yao@codesourcery.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox