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: [patch] Suggest newer gdbserver if it has no qXfer:exec-file:read
Date: Tue, 05 Apr 2016 16:58:00 -0000 [thread overview]
Message-ID: <5703EE91.7040409@redhat.com> (raw)
In-Reply-To: <20160323211547.GA17400@host1.jankratochvil.net>
On 03/23/2016 09:15 PM, Jan Kratochvil wrote:
> On Tue, 22 Mar 2016 14:56:46 +0100, Pedro Alves wrote:
>> - I think the important points are:
>>
>> - The user did not specify the executable manually.
>>
>> - The target/server does not support automatic executable
>> retrieval.
>>
>> - I see that at least the following choices to correct the situation:
>>
>> #1 - Upgrade server to some version that supports automatic automatic
>> executable retrieval.
>>
>> #2 - Hack on stub/server yourself to add support for automatic
>> executable retrieval, if possible on the target.
>>
>> #3 - Use the "file" command.
>>
>> If you're connecting with a new gdb to an older gdbserver, it usually
>> means that installing a newer gdbserver is more than a couple
>> seconds work, and may not even be possible. I think #3 will be the
>> path most often taken.
>>
>> So I'd suggest:
>>
>> warning: No executable has been specified and target does not support
>> determining executable automatically. Try using the \"file\" command.
>>
>> Seeing this, users that can hack on a remote stub will probably
>> realize that there's now some way for gdb to automatically retrieve
>> the executable. We don't need to expose implementation details for those
>> users; they'll be savvy enough to find the necessary info in the RSP
>> manual. For other users, talking about implementation details may
>> largely be noise.
>
> I still do not see there any hint that a newer FSF gdbserver would also fix the
> problem.
That's because I don't think it's a good approach. If we followed
that direction going forward, we'd end up with:
warning: Remote gdbserver does not support determining executable automatically.
FSF gdbserver version 7.10 or later would support that.
warning: Remote gdbserver does not support foo.
FSF gdbserver version 6.5 or later would support that.
warning: Remote gdbserver does not support bar.
FSF gdbserver version 6.8 or later would support that.
Old version numbers shown on purpose -- that's what 7.10
will feel like in a couple years. I think it's not a good
idea to show version numbers, nor am I convinced mentioning
gdbserver is a good idea either. There's bare metal targets, and
then there's also other servers like qemu, Valgrind, RR, etc.
Sorry for pushing back, but I think warnings should be centered
on features, not tools and versions.
> Attached patch prints messages as:
>
> Remote debugging using :1234
> warning: Remote gdbserver does not support determining executable automatically.
> FSF gdbserver version 7.10 or later would support that.
> warning: No executable has been specified and target does not support
> determining executable automatically. Try using the "file" command.
> warning: Could not load vsyscall page because no executable was specified
> 0x00007ffff7ddcc80 in ?? ()
> (gdb) _
>
> diff --git a/gdb/exec.c b/gdb/exec.c
> index 90811c0..a10ab9b 100644
> --- a/gdb/exec.c
> +++ b/gdb/exec.c
> @@ -151,7 +151,13 @@ exec_file_locate_attach (int pid, int from_tty)
> /* Try to determine a filename from the process itself. */
> exec_file = target_pid_to_exec_file (pid);
> if (exec_file == NULL)
> - return;
> + {
> + warning (_("No executable has been specified and target does not "
> + "support\n"
> + "determining executable automatically. "
> + "Try using the \"file\" command."));
> + return;
> + }
This bit is OK.
> diff --git a/gdb/symfile-mem.c b/gdb/symfile-mem.c
> index 8eb5176..79739a6 100644
> --- a/gdb/symfile-mem.c
> +++ b/gdb/symfile-mem.c
> @@ -214,8 +214,7 @@ add_vsyscall_page (struct target_ops *target, int from_tty)
> format should fix this. */
> {
> warning (_("Could not load vsyscall page "
> - "because no executable was specified\n"
> - "try using the \"file\" command first."));
> + "because no executable was specified"));
> return;
This bit is OK. Please split them out and push them.
Please don't push the other hunks in. I think we'll need more
discussion on those and I'd rather if we found some other way
to address this, if we must.
Thanks,
Pedro Alves
next prev parent reply other threads:[~2016-04-05 16:58 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-19 20:18 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
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 [this message]
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=5703EE91.7040409@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