This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH 7/9] Update exec_file_attach to cope with "target:" filenames
- From: Pedro Alves <palves at redhat dot com>
- To: Gary Benson <gbenson at redhat dot com>
- Cc: gdb-patches at sourceware dot org
- Date: Wed, 01 Apr 2015 15:16:22 +0100
- Subject: Re: [PATCH 7/9] Update exec_file_attach to cope with "target:" filenames
- Authentication-results: sourceware.org; auth=none
- References: <1426870087-32654-1-git-send-email-gbenson at redhat dot com> <1426870087-32654-8-git-send-email-gbenson at redhat dot com> <551BE12D dot 1080300 at redhat dot com> <20150401135525 dot GE655 at blade dot nx>
On 04/01/2015 02:55 PM, Gary Benson wrote:
> Pedro Alves wrote:
>> On 03/20/2015 04:48 PM, Gary Benson wrote:
>>> This commit adds support for filenames prefixed with "target:" to
>>> exec_file_attach. This is required to correctly follow inferior
>>> exec* calls when a gdb_sysroot prefixed with "target:" is set.
>>
>> Hmm, I don't see how. Isn't this only true when target_pid_to_exec_file
>> prepends the sysroot, which it doesn't yet? I think this should move
>> to that other series.
>
> Search for gdb_sysroot in infrun.c.
Ah, thanks. I went from memory (which obviously failed), while
I should have looked.
>
>> A couple bits could use more explanation (in commit log and/or
>> comments):
>>
>> - Why is writing into executable files not supported with "target:" ?
>> - The skipping of gdb_realpath_keepfile.
>
> Are these two additions ok?
Yes, thanks.
BTW, looking again at the patch I noticed a spurious new line:
> + {
> +
> + scratch_chan = openp (getenv ("PATH"), OPF_TRY_CWD_FIRST,
Patch is OK with those fixed.
>
> diff --git a/gdb/exec.c b/gdb/exec.c
> index 6b6fc7d..ce61303 100644
> --- a/gdb/exec.c
> +++ b/gdb/exec.c
> @@ -192,6 +192,7 @@ exec_file_attach (const char *filename, int from_tty)
>
> if (load_via_target)
> {
> + /* gdb_bfd_fopen does not support "target:" filenames. */
> if (write_files)
> warning (_("writing into executable files is "
> "not supported for %s sysroots"),
That's a limitation that can be lifted later, by either
teaching gdb_bfd_fopen about "target:" or using an alternative
like gdb_bfd_open instead, right?
Thanks,
Pedro Alves