[RFA 1/3] New option 'set exec-file-mismatch (reload|warn|off)'. Fixes PR gdb/17626.

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

New option 'set exec-file-mismatch (reload|warn|off)'. Fixes PR gdb/17626.

This option allows to tell GDB to detect and possibly handle mismatched
exec-files.

A recurrent problem with GDB is that GDB uses the wrong exec-file
when using the attach/detach commands successively.
Also, in case the user specifies a file on the command line but attaches
to the wrong PID, this error is not made visible and gives a not user
understandable behaviour.

RFA 1/3 Implement 'set/show exec-file-mismatch'.
implements the option.
RFA 2/2 modifies gdb.base/attach.exp to test the option.
RFA 3/3 documents the option in NEWS and in gdb.texinfo

Compared to the RFC, this version handles the comments of Tom.

Some feedback related to these comments:
* I have styled the warning/error messages mentionning files in
exec.c, but styling in such messages only works with the patch:
[RFA] Ensure GDB warnings are styled.
https://sourceware.org/ml/gdb-patches/2019-12/msg00691.html

* Related to new lines in the warning message: many other warning
messages have new lines. I have kept them, as it looks to me that
the message is more clear like that. Of course, I can remove them
if deemed better without.

* What happens if the inferior execs another program ?
This option only controls the behaviour when attaching to a running
program. The behaviour of 'exec' is not changed: GDB already properly
determines the executable to use after exec.