public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
From: "Ulrich Weigand" <uweigand@de.ibm.com>
To: pedromfc@linux.vnet.ibm.com (Pedro Franco de Carvalho)
Cc: gdb-patches@sourceware.org
Subject: Re: [PATCH 3/4] Use get_remote_packet_size in download_tracepoint
Date: Tue, 26 Jun 2018 10:52:00 -0000	[thread overview]
Message-ID: <20180626105205.A2B56D80279@oc3748833570.ibm.com> (raw)
In-Reply-To: <878t72mvxo.fsf@linux.vnet.ibm.com> from "Pedro Franco de Carvalho" at Jun 25, 2018 05:51:31 PM

Pedro Franco de Carvalho wrote:
> Ulrich Weigand <uweigand@de.ibm.com> writes:
> 
> > You know from the beginning that the agent expression will take
> > (2 * aexpr->len) bytes, so it should be OK to only check this
> > once, ahead of time.  In fact, sending a partial agent expression
> > seems to be worse than sending none, so if the agent expression
> > is too long, I think it should be just omitted (and the user
> > warned).
> 
> I don't think a partial agent expression would be sent in this case,
> since this is before the first putpkt is called in the function. But I
> can still issue the warning and ignore the condition expression instead
> of failing on the assertion. Otherwise I can check the size once and
> call a gdb_assert if its too small, like the rest of the function. Which
> is better?

Ah, you right -- I missed that xsnprintf acually aborts.  In this case,
I agree that just checking once and assserting would be fine.

> I am also assuming throughout this function that size_t and
> gdb::char_vector::size_type are compatible (since buf.size () returns
> the latter and xsnprintf takes a size_t). Is this ok?

I'm not sure I fully understand the C++ standard on this question,
but it seems a reasonable assumption to me.  Maybe some of the C++
experts can chime in here?

Bye,
Ulrich

-- 
  Dr. Ulrich Weigand
  GNU/Linux compilers and toolchain
  Ulrich.Weigand@de.ibm.com

  reply	other threads:[~2018-06-26 10:52 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-20 21:09 [PATCH 0/4] Allow larger sizes for tracepoint register masks Pedro Franco de Carvalho
2018-06-20 21:09 ` [PATCH 1/4] Fix indentation in remote_target::download_tracepoint Pedro Franco de Carvalho
2018-06-25 10:32   ` Ulrich Weigand
2018-06-20 21:09 ` [PATCH 4/4] Variable size for regs mask in collection list Pedro Franco de Carvalho
2018-06-25 10:38   ` Ulrich Weigand
2018-06-26 16:58   ` Pedro Alves
2018-06-26 18:52     ` Pedro Franco de Carvalho
2018-06-20 21:09 ` [PATCH 3/4] Use get_remote_packet_size in download_tracepoint Pedro Franco de Carvalho
2018-06-25 10:37   ` Ulrich Weigand
2018-06-25 20:51     ` Pedro Franco de Carvalho
2018-06-26 10:52       ` Ulrich Weigand [this message]
2018-06-26 16:53       ` Pedro Alves
2018-06-26 18:49         ` Pedro Franco de Carvalho
2018-06-20 21:10 ` [PATCH 2/4] Remove trailing '-' from the last QTDP action packet Pedro Franco de Carvalho
2018-06-25 10:33   ` Ulrich Weigand

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=20180626105205.A2B56D80279@oc3748833570.ibm.com \
    --to=uweigand@de.ibm.com \
    --cc=gdb-patches@sourceware.org \
    --cc=pedromfc@linux.vnet.ibm.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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).