Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Tom Tromey <tromey@redhat.com>
To: Yao Qi <yao@codesourcery.com>
Cc: <gdb-patches@sourceware.org>
Subject: Re: [PATCH 2/5] Save trace into CTF format
Date: Thu, 07 Mar 2013 21:29:00 -0000	[thread overview]
Message-ID: <87d2vaew5i.fsf@fleche.redhat.com> (raw)
In-Reply-To: <51332381.6010101@codesourcery.com> (Yao Qi's message of "Sun, 3	Mar 2013 18:18:41 +0800")

>>>>> "Yao" == Yao Qi <yao@codesourcery.com> writes:

Yao> +static void
Yao> +ctf_save_fwrite (FILE *fd, const gdb_byte *buf, size_t size)
Yao> +{
Yao> +  if (fwrite (buf, size, 1, fd) != 1)
Yao> +    error (_("Unable to write file for saving trace data (%s)"),
Yao> +	   safe_strerror (errno));
Yao> +}

Why not merge this function with its only caller?

Yao> +static void
Yao> +ctf_save_fwrite_format (FILE *fd, const char *format, ...)
Yao> +{
Yao> +  va_list args;
Yao> +
Yao> +  va_start (args, format);
Yao> +  vfprintf (fd, format, args);

This seems like it needs the same error-checking as ctf_save_fwrite;
plus maybe (?) the content_size update as well.

Yao> +static void
Yao> +ctf_write_frame_v_block (struct trace_file_writer *self,
Yao> +			 int num, LONGEST val)
Yao> +{
Yao> +  struct ctf_trace_file_writer *writer
Yao> +    = (struct ctf_trace_file_writer *) self;
Yao> +  uint32_t id = CTF_EVENT_ID_TSV;
Yao> +
Yao> +  /* Event Id.  */
Yao> +  ctf_save_align_write (&writer->tcs, (gdb_byte *) &id, 4, 4);
Yao> +
Yao> +  /* val.  */
Yao> +  ctf_save_align_write (&writer->tcs, (gdb_byte *) &val, 8, 8);

It seems safer to use a uint64_t intermediary here.

Yao> +  /* num.  */
Yao> +  ctf_save_align_write (&writer->tcs, (gdb_byte *) &num, 4, 4);

And a uint32_t here.

Yao> +/* Save the trace data to dir DIRENAME of ctf format.  */

Typo, "DIRNAME".

Yao> +void
Yao> +trace_save_ctf (const char *dirname, int target_does_save)
Yao> +{
Yao> +  struct trace_file_writer *writer;
Yao> +  struct cleanup *back_to;
Yao> +
Yao> +  writer = ctf_trace_file_writer_new ();
Yao> +  trace_save (dirname, writer, target_does_save);
Yao> +  back_to = make_cleanup (trace_file_writer_xfree, writer);
Yao> +  do_cleanups (back_to);

I think the make_cleanup and trace_save lines have to be exchanged.
Otherwise this doesn't make much sense.

Tom


  reply	other threads:[~2013-03-07 21:29 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-27  2:18 [PATCH 0/5, 2nd try] CTF Support Yao Qi
2013-02-27  2:18 ` [PATCH 1/5] Refactor 'tsave' Yao Qi
2013-02-28 16:49   ` Pedro Alves
2013-03-01  8:58     ` Yao Qi
2013-03-01 10:05       ` Pedro Alves
2013-03-01 10:41         ` Pedro Alves
2013-03-01 11:26         ` Yao Qi
2013-03-01 12:13           ` Pedro Alves
2013-03-01 15:55             ` Yao Qi
2013-03-05 20:59               ` Pedro Alves
2013-03-03  8:45         ` Yao Qi
2013-02-27  2:19 ` [PATCH 5/5] ctf test: report.exp Yao Qi
2013-02-27 18:48   ` Pedro Alves
2013-02-28  1:36     ` Yao Qi
2013-02-28 18:30       ` Pedro Alves
2013-02-27  2:19 ` [PATCH 4/5] ctf doc and NEWS Yao Qi
2013-02-27 18:39   ` Eli Zaretskii
2013-02-27  2:19 ` [PATCH 2/5] Save trace into CTF format Yao Qi
2013-02-28 13:17   ` Yao Qi
2013-02-28 13:17     ` Andreas Schwab
2013-02-28 17:19       ` Pedro Alves
2013-03-01 19:22     ` Tom Tromey
2013-03-03 10:19       ` Yao Qi
2013-03-07 21:29         ` Tom Tromey [this message]
2013-03-16  2:30         ` Joel Brobecker
2013-03-16  4:22           ` Yao Qi
2013-02-27  2:19 ` [PATCH 3/5] Read CTF by the ctf target Yao Qi
2013-02-28 17:59   ` Pedro Alves
2013-03-01  2:38     ` Hui Zhu
2013-05-07 13:07       ` Mathieu Desnoyers
2013-05-07 13:24         ` Yao Qi
2013-05-07 13:28           ` Mathieu Desnoyers
2013-03-01  7:55     ` Yao Qi
2013-03-01  9:15       ` Pedro Alves
2013-03-01 15:51   ` Tom Tromey
2013-03-03 10:39     ` Yao Qi
2013-03-03 10:46       ` Yao Qi

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=87d2vaew5i.fsf@fleche.redhat.com \
    --to=tromey@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