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: Gary Benson <gbenson at redhat dot com>
- To: Pedro Alves <palves at redhat dot com>
- Cc: gdb-patches at sourceware dot org
- Date: Wed, 1 Apr 2015 16:59:38 +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> <551BFDB6 dot 1090302 at redhat dot com>
Pedro Alves wrote:
> 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.
I may make a followup patch to convert that bit to use exec_file_find
from my "Don't require 'file' for remote targets" series when that's
in.
> > 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?
Yes, it's not a permanent restriction, just stuff that's not written
yet. The appropriate methods are in RSP I think, it's just gdb_bfd.c
that needs touching. (It could probably be refactored some too,
maybe make gdb_bfd_open a special case of gdb_bfd_fopen and put all
the real code in the latter.)
Cheers,
Gary
--
http://gbenson.net/