Re: [PATCH 7/7] Access executable from remote system when first inferior appears

Gary Benson
2015-04-15T13:56:02Z

Pedro Alves wrote:
> On 04/01/2015 12:22 PM, Gary Benson wrote:
> > This commit modifies remote_add_inferior to take an extra argument
> > try_open_exec. If this is nonzero, remote_add_inferior will
> > attempt to open this inferior's executable as the main executable
> > if no main executable is open already. Callers are updated
> > appropriately.
> >
> > One testcase required updating as a result of this commit. The
> > test checked that GDB's "info files" command does not crash if no
> > main executable is open, and relied on GDB's inability to access
> > the main executable over the remote protocol. The test was
> > updated to inhibit this new behavior.
>
> So this is significant user-visible change too. I think it deserves
> an example in the commit log, and a NEWS entry. The manual should
> probably be updated to explain/mention this too. We already mention
> something like this in the "attach" docs:
>
> "When you use @code{attach}, the debugger finds the program running in
> the process first (...)"

How about these?

diff --git a/gdb/NEWS b/gdb/NEWS
index b11a6fc..e88210f 100644
--- a/gdb/NEWS
+++ b/gdb/NEWS
@@ -36,6 +36,11 @@
the operating system) when starting processes remotely, and when
attaching to already-running local or remote processes.

+* GDB now supports automatic location and retrieval of executable
+ files from remote targets. Remote debugging can now be initiated
+ using only a "target remote" or "target extended-remote" command
+ (no "set sysroot" or "file" commands are required).
+
* Python Scripting

** gdb.Objfile objects have a new attribute "username",
diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
index 964f9c4..4f9c21b 100644
--- a/gdb/doc/gdb.texinfo
+++ b/gdb/doc/gdb.texinfo
@@ -2531,7 +2531,8 @@ programs on bare-board targets that lack an operating system. You must
also have permission to send the process a signal.

When you use @code{attach}, the debugger finds the program running in
-the process first by looking in the current working directory, then (if
+the process first by querying the operating system. If this fails,
+@value{GDBN} looks first in the current working directory, then (if
the program is not found) by using the source file search path
(@pxref{Source Path, ,Specifying Source Directories}). You can also use
the @code{file} command to load the program. @xref{Files, ,Commands to