public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
From: Pedro Alves <palves@redhat.com>
To: Jan Kratochvil <jan.kratochvil@redhat.com>
Cc: gdb-patches@sourceware.org, Gary Benson <gbenson@redhat.com>
Subject: Re: [patchv4] Workaround gdbserver<7.7 for setfs
Date: Wed, 06 Apr 2016 14:31:00 -0000	[thread overview]
Message-ID: <57051DAB.7000008@redhat.com> (raw)
In-Reply-To: <20160406134911.GA30545@host1.jankratochvil.net>

On 04/06/2016 02:49 PM, Jan Kratochvil wrote:

>> > Try qMustReplyEmpty or something like that instead.
> With these requirements on this workaround I have followed the gdbserver-7.6
> sources and the bug was in function handle_notif_ack which is called only from
> handle_v_requests, therefore for any packets /^v/.

Ah.

> OK to check in this one?

OK with a change.

> diff --git a/gdb/remote.c b/gdb/remote.c
> index 5c407b6..a88f4cd 100644
> --- a/gdb/remote.c
> +++ b/gdb/remote.c
> @@ -1496,6 +1496,15 @@ enum {
>  
>  static struct packet_config remote_protocol_packets[PACKET_MAX];
>  
> +/* gdbserver < 7.7 (before its fix from 2013-12-11) did reply to any
> +   unknown 'v' packet with string "OK".  "OK" gets interpreted by GDB
> +   as a reply to known packet.  For packet "vFile:setfs:" it is an
> +   invalid reply and GDB would return error in
> +   remote_hostio_set_filesystem, making remote files access impossible.
> +   If this variable is non-zero it means the remote gdbserver is buggy
> +   and any not yet detected packets are assumed as unsupported.  */
> +static int unknown_v_replies_ok;

This comment looks great now, thanks.  It helps the reader understand
exactly what is being worked around, and it'll help us decide what to
do in the future if this ever gets in the way.

Please make this new variable a field of 'struct remote_state' instead
of a global.

OK with that change.

Thanks,
Pedro Alves

  reply	other threads:[~2016-04-06 14:31 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-19 20:18 [patch] Suggest newer gdbserver if it has no qXfer:exec-file:read Jan Kratochvil
2016-03-22  9:15 ` Gary Benson
2016-03-22 12:24 ` Pedro Alves
2016-03-22 13:16   ` Jan Kratochvil
2016-03-22 13:56     ` Pedro Alves
2016-03-23 21:15       ` Jan Kratochvil
2016-03-24 16:59         ` Jan Kratochvil
2016-03-24 22:09         ` [patch] Workaround gdbserver<7.7 for setfs [Re: [patch] Suggest newer gdbserver if it has no qXfer:exec-file:read] Jan Kratochvil
2016-03-24 22:32           ` [patchv2 2/2] Workaround gdbserver<7.7 for setfs Jan Kratochvil
2016-03-30 14:17             ` Pedro Alves
2016-04-03 19:30               ` Jan Kratochvil
2016-04-04 21:14               ` [patchv3] " Jan Kratochvil
2016-04-05 16:29                 ` Pedro Alves
2016-04-06 13:49                   ` [patchv4] " Jan Kratochvil
2016-04-06 14:31                     ` Pedro Alves [this message]
2016-04-06 15:19                       ` [commit] " Jan Kratochvil
2016-04-06 19:09                         ` [revert] " Jan Kratochvil
2016-04-26 21:29                           ` [patchv5] " Jan Kratochvil
2016-04-27  9:59                             ` Pedro Alves
2016-04-27 19:32                               ` [commit+7.11] " Jan Kratochvil
2016-04-28 10:36                                 ` Gary Benson
2016-03-24 22:32           ` [patchv2 1/2] " Jan Kratochvil
2016-04-05 16:32         ` [patch] Suggest newer gdbserver if it has no qXfer:exec-file:read Pedro Alves
2016-04-05 17:14           ` Jan Kratochvil
2016-04-05 16:58         ` Pedro Alves
2016-04-06 14:34           ` [commit] " Jan Kratochvil
2016-04-06 14:49             ` [commit fix] Revert check-in by a mistake in the previous commit [Re: [commit] Suggest newer gdbserver if it has no qXfer:exec-file:read] Jan Kratochvil
2016-04-06 15:04             ` [commit] Suggest newer gdbserver if it has no qXfer:exec-file:read Pedro Alves
2016-04-06 15:29               ` 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=57051DAB.7000008@redhat.com \
    --to=palves@redhat.com \
    --cc=gbenson@redhat.com \
    --cc=gdb-patches@sourceware.org \
    --cc=jan.kratochvil@redhat.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).