Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Pedro Alves <palves@redhat.com>
To: Dmitry Kozlov <dmitry_kozlov@mentor.com>
Cc: Yao Qi <yao@codesourcery.com>,
	gdb-patches@sourceware.org,
	       "'Stan_Shebs@mentor.com'" <Stan_Shebs@mentor.com>,
	       Vladimir Prus <vladimir@codesourcery.com>
Subject: Re: [PATCH] Extend tsave: save start time, stop time, user and notes
Date: Thu, 11 Oct 2012 17:10:00 -0000	[thread overview]
Message-ID: <5076FD5F.4060009@redhat.com> (raw)
In-Reply-To: <5076EB66.6080307@mentor.com>

On 10/11/2012 04:53 PM, Dmitry Kozlov wrote:

>> Logically, this patch depends on your previous patch
>>
>>   PATCH fix start-time and stop-time in trace-status
>>   http://sourceware.org/ml/gdb-patches/2012-09/msg00621.html
>>
>> otherwise, we generate start-time and stop-time in trace file in decimal format, while gdb still interprets it as hex.

Since gdbserver and gdb have always been in disagreement (IOW, this
never worked correctly with gdbserver, so we're free to change it), and
the RSP uses hex everywhere (*), let's fix gdbserver instead.

  @cindex remote protocol, field separator
  Fields within the packet should be separated using @samp{,} @samp{;} or
  @samp{:}.  Except where otherwise noted all numbers are represented in
  @sc{hex} with leading zeros suppressed.

> +2012-10-04  Dmitry Kozlov  <ddk@codesourcery.com>
> +
> +	* tracepoint.c (trace_save): Add saving starttime, stoptime, user and notes.
> +
> +2012-10-04  Dmitry Kozlov  <ddk@mentor.com>
> +
> +	* tracepoint.c (trace_status_command): Fix type of printf arg.
> +	(trace_status_mi): Likewise.

Looks like something stale (two entries).

> +
>  2012-10-03  Doug Evans  <dje@google.com>
>  
>  	PR symtab/14601
> diff --git a/gdb/tracepoint.c b/gdb/tracepoint.c
> index 0f94150..959ede5 100644
> --- a/gdb/tracepoint.c
> +++ b/gdb/tracepoint.c
> @@ -3018,10 +3018,11 @@ trace_save (const char *filename, int target_does_save)
>  	   (ts->running ? '1' : '0'), stop_reason_names[ts->stop_reason]);
>    if (ts->stop_reason == tracepoint_error)
>      {
> -      char *buf = (char *) alloca (strlen (ts->stop_desc) * 2 + 1);
> +      char *buf = (char *) xmalloc (strlen (ts->stop_desc) * 2 + 1);
>  
>        bin2hex ((gdb_byte *) ts->stop_desc, buf, 0);
>        fprintf (fp, ":%s", buf);
> +      xfree (buf);
>      }
>    fprintf (fp, ":%x", ts->stopping_tracepoint);
>    if (ts->traceframe_count >= 0)
> @@ -3036,6 +3037,35 @@ trace_save (const char *filename, int target_does_save)
>      fprintf (fp, ";disconn:%x", ts->disconnected_tracing);
>    if (ts->circular_buffer)
>      fprintf (fp, ";circular:%x", ts->circular_buffer);
> +  if (ts->start_time)
> +    {
> +      fprintf (fp, ";starttime:%ld%06ld",
> +    		(long int) (ts->start_time / 1000000),
> +    		(long int) (ts->start_time % 1000000));

See above.  Numbers in the remote protocol are represented in hex.

> +    }
> +  if (ts->stop_time)
> +    {
> +      fprintf (fp, ";stoptime:%ld%06ld",
> +    		(long int) (ts->stop_time / 1000000),
> +    		(long int) (ts->stop_time % 1000000));
> +    }
> +  if (ts->notes && ts->notes[0] != 0 )

Spurious space after 0.

> +    {
> +	  char *buf = (char *) xmalloc (strlen (ts->notes) * 2 + 1);

Unnecessary cast.

> +
> +	  bin2hex ((gdb_byte *) ts->notes, buf, 0);
> +	  fprintf (fp, ";notes:%s", buf);
> +	  xfree (buf);


Indentation is off (compared to ts->stop_time branch above).
Check tabs vs spaces.

> +    }
> +  if (ts->user_name)

As Yao pointed out, shouldn't this get the same check for empty string?

> +    {
> +	  char *buf = (char *) xmalloc (strlen (ts->user_name) * 2 + 1);
> +
> +	  bin2hex ((gdb_byte *) ts->user_name, buf, 0);
> +	  fprintf (fp, ";username:%s", buf);
> +	  xfree (buf);
> +    }

-- 
Pedro Alves


  reply	other threads:[~2012-10-11 17:10 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-03 14:09 Dmitry Kozlov
2012-10-08 12:48 ` Yao Qi
2012-10-08 19:14   ` Dmitry Kozlov
2012-10-11 15:53   ` Dmitry Kozlov
2012-10-11 17:10     ` Pedro Alves [this message]
2012-10-12  8:44       ` Dmitry Kozlov
2012-10-12  8:46       ` Dmitry Kozlov
2012-10-16 16:36         ` Pedro Alves

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=5076FD5F.4060009@redhat.com \
    --to=palves@redhat.com \
    --cc=Stan_Shebs@mentor.com \
    --cc=dmitry_kozlov@mentor.com \
    --cc=gdb-patches@sourceware.org \
    --cc=vladimir@codesourcery.com \
    --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