From 1b6e6f5c7ffba559a681d11852acf38ef48dceff Mon Sep 17 00:00:00 2001 From: Gary Benson Date: Fri, 17 Apr 2015 09:47:30 +0100 Subject: Access executable from remote system when first inferior appears 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. With this commit, remote debugging can now be initiated using only a "target remote" or "target extended-remote" command; no "set sysroot" or "file" commands are required, e.g. bash$ gdb -q (gdb) target remote | gdbserver - /bin/sh Remote debugging using | gdbserver - /bin/sh Process /bin/sh created; pid = 32166 stdin/stdout redirected Remote debugging using stdio Reading symbols from target:/bin/bash... 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. gdb/ChangeLog: * remote.c (remote_add_inferior): New argument try_open_exec. If nonzero, attempt to open the inferior's executable file as the main executable if no main executable is open already. All callers updated. * NEWS: Mention that GDB now supports automatic location and retrieval of executable + files from remote targets. gdb/doc/ChangeLog: * gdb.texinfo (Connecting to a Remote Target): Mention that GDB can access program files from remote targets that support qXfer:exec-file:read and Host I/O packets. gdb/testsuite/ChangeLog: * gdb.server/server-exec-info.exp: Inhibit GDB from accessing the main executable over the remote protocol. --- gdb/NEWS | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'gdb/NEWS') diff --git a/gdb/NEWS b/gdb/NEWS index b11a6fc..62cbdcb 100644 --- a/gdb/NEWS +++ b/gdb/NEWS @@ -36,6 +36,12 @@ 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). See "New remote + packets" below. + * Python Scripting ** gdb.Objfile objects have a new attribute "username", -- cgit v1.1