[RFA 3/3] Document 'set|show exec-file-mismatch (reload|warn|off)'

Philippe Waroquiers
2019-12-21T14:36:47Z

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 <philippe.waroquiers@skynet.be>

* NEWS: Mention the new option and the set/show commands.

gdb/doc/ChangeLog
YYYY-MM-DD Philippe Waroquiers <philippe.waroquiers@skynet.be>

* 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}
--
2.20.1