From patchwork Sat Dec 21 14:36:32 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philippe Waroquiers X-Patchwork-Id: 37063 Received: (qmail 5892 invoked by alias); 21 Dec 2019 14:36:47 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 5836 invoked by uid 89); 21 Dec 2019 14:36:47 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-22.1 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_LOW, SPF_PASS autolearn=ham version=3.3.1 spammy=HContent-Transfer-Encoding:8bit X-HELO: mailsec109.isp.belgacom.be Received: from mailsec109.isp.belgacom.be (HELO mailsec109.isp.belgacom.be) (195.238.20.105) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sat, 21 Dec 2019 14:36:45 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=skynet.be; i=@skynet.be; q=dns/txt; s=securemail; t=1576939006; x=1608475006; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=HGUIdpehD1EnnagBYIzMFpP6GmheO6UeB7ySPqmhVr0=; b=s7j8l+sl3Tqc6QYvHMA/M4/S0xRjJD5X8e41AWsDZRgPs5VryK3DvJaS 5XWBjrFGi/nsg7cEpBSPtVYNjBxtQQ==; IronPort-SDR: brNpi1PnP1xvixpztbwTBIwZY4E3CcNQyh6spaYdvfKIk+563ABdQN36NbZAEWdItCVwdr42iP nvLOr+rMyv9x0G+6V7fTUT6jn3L4RCGi+xMKAuiSx6ike5SUqUU7V4cBgQGokSJebIfn49j0Ch Ukea4e3zLwH8buG8lVevPMuxdjl6dBd0UpKjuE7joFuoB4bJpdiQO22FCTae/Q9gez0CA/gEDa FICwfi8Or5cD8EKGL3VmTBS6o4/OljT73/ZhvGcgRobZXwXoSnQziBygAGQGNY8nx1tCsF08zB tYo= Received: from 156.47-242-81.adsl-dyn.isp.belgacom.be (HELO md.home) ([81.242.47.156]) by relay.skynet.be with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256; 21 Dec 2019 15:36:38 +0100 From: Philippe Waroquiers To: gdb-patches@sourceware.org Cc: Philippe Waroquiers Subject: [RFA 3/3] Document 'set|show exec-file-mismatch (reload|warn|off)' Date: Sat, 21 Dec 2019 15:36:32 +0100 Message-Id: <20191221143632.15990-4-philippe.waroquiers@skynet.be> In-Reply-To: <20191221143632.15990-1-philippe.waroquiers@skynet.be> References: <20191221143632.15990-1-philippe.waroquiers@skynet.be> MIME-Version: 1.0 X-IsSubscribed: yes Mention in NEWS the new option and the set/show commands. Document in gdb.texinfo the new option and the set/show commands. gdb/ChangeLog YYYY-MM-DD Philippe Waroquiers * NEWS: Mention the new option and the set/show commands. gdb/doc/ChangeLog YYYY-MM-DD Philippe Waroquiers * gdb.texinfo (Attach): Document the new option and the set/show commands. (Connecting): Reference the exec-file-mismatch option. --- gdb/NEWS | 12 ++++++++++++ gdb/doc/gdb.texinfo | 31 +++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+) diff --git a/gdb/NEWS b/gdb/NEWS index ee10914fd8..1a90862b0d 100644 --- a/gdb/NEWS +++ b/gdb/NEWS @@ -3,6 +3,18 @@ *** Changes since GDB 9 +* New commands + +set exec-file-mismatch -- Set exec-file-mismatch handling (reload|warn|off). +show exec-file-mismatch -- Show exec-file-mismatch handling (reload|warn|off). + Set or show the option 'exec-file-mismatch'. When GDB attaches to + a running program and can determine the running program, this new option + indicates how to handle a mismatch between the current exec-file and + the automatically detected file. + 'reload' is the default value: in case of mismatch, GDB will warn the user + and reload the automatically determined file after user confirmation. + + *** Changes in GDB 9 * 'thread-exited' event is now available in the annotations interface. diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo index 4d25f755d7..a246ba0bf5 100644 --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo @@ -2904,6 +2904,31 @@ the program is not found) by using the source file search path the @code{file} command to load the program. @xref{Files, ,Commands to Specify Files}. +@anchor{set exec-file-mismatch} +If the debugger can determine the program running in the process +and this program does not match the current exec-file, the option +@code{exec-file-mismatch} specifies how to handle the mismatch. + +@table @code +@kindex exec-file-mismatch +@cindex set exec-file-mismatch +@item set exec-file-mismatch @samp{reload|warn|off} +In case of mismatch between the current exec-file and the automatically +determined exec-file of the PID the debugger is attaching to, +@samp{reload} indicates to give a warning to the user and reload +the automatically determined exec-file. The user will be asked to +confirm the loading of the automatically determined file. +With @samp{warn}, @value{GDBN} just gives a warning to the user to +signal the mismatch. @samp{off} indicates to not check for mismatch. +The default value is @samp{reload}. + + +@cindex show exec-file-mismatch +@item show exec-file-mismatch +Show the current value of @code{exec-file-mismatch}. + +@end table + The first thing @value{GDBN} does after arranging to debug the specified process is to stop it. You can examine and modify an attached process with all the @value{GDBN} commands that are ordinarily available when @@ -21780,6 +21805,12 @@ established. If you are using @code{gdbserver}, you may also invoke @code{gdbserver} using the @option{--attach} option (@pxref{Running gdbserver}). +Some remote targets allow @value{GDBN} to determine the program running +in the process the debugger is attaching to. In such a case, @value{GDBN} +uses the value of @code{exec-file-mismatch} to handle a possible mismatch +between the program running in the process and the current exec-file. +(@pxref{set exec-file-mismatch}). + @end table @anchor{Host and target files}