This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH] Make only user-specified executable filenames sticky
- From: Gary Benson <gbenson at redhat dot com>
- To: Don Breazeal <donb at codesourcery dot com>
- Cc: gdb-patches at sourceware dot org
- Date: Fri, 5 Jun 2015 10:37:24 +0100
- Subject: Re: [PATCH] Make only user-specified executable filenames sticky
- Authentication-results: sourceware.org; auth=none
- References: <20150505151448 dot GA1417 at blade dot nx> <1430907977-30605-1-git-send-email-gbenson at redhat dot com> <5550E357 dot 9040209 at codesourcery dot com>
Don Breazeal wrote:
> On 5/6/2015 3:26 AM, Gary Benson wrote:
> > In GDB some executable files are supplied by the user (e.g. using
> > a "file" command) and some are determined by GDB (e.g. while
> > processing an "attach" command). GDB will not attempt to
> > determine a filename if one has been set. This causes problems if
> > you attach to one process and then attach to another: GDB will not
> > attempt to discover the main executable on the second attach. If
> > the two processes have different main executable files then the
> > symbols will now be wrong.
> >
> > This commit updates GDB to keep track of which executable
> > filenames were supplied by the user. When GDB might attempt to
> > determine an executable filename and one is already set, filenames
> > determined by GDB may be overridden but user-supplied filenames
> > will not.
>
> I realize that I am coming late to this discussion, sorry about
> that.
Likewise, sorry for taking so long to reply :)
> How does this interact with follow-exec-mode? If follow-exec-mode
> is 'new' and the program execs, then 'run' will use the original
> executable file. But if follow-exec-mode is 'same' and the program
> execs, then 'run' will use the executable file that was active after
> the exec call.
>
> In the follow-exec-mode == 'same' instance, is the assumption that
> the exec'd executable file takes on the same 'user-supplied'
> attribute as the initial executable, since it is using the original
> inferior?
>
> If so, is there a scenario where:
> * the user supplies the exec file name
> * the program execs, so the exec file name is now different
> * then the user tries to do an attach (without an exec file name) to a
> process running the original exec file, and gets the wrong exec file name?
I'm not sure. Where would I need to look to check this out?
(Where is the bit that updates the filename after exec?)
Cheers,
Gary
--
http://gbenson.net/