mirror of
https://github.com/bminor/binutils-gdb.git
synced 2025-12-27 01:28:46 +00:00
* infcmd.c (run_command): Check that the `exec' target layer's BFD
is up-to-date before running the program, not just when a program exits. * testsuite/gdb.base/reread.exp: Check that GDB properly re-reads the executable file when it changes while no inferior is running.
This commit is contained in:
14
gdb/infcmd.c
14
gdb/infcmd.c
@@ -389,17 +389,23 @@ Start it from the beginning? "))
|
||||
|
||||
clear_breakpoint_hit_counts ();
|
||||
|
||||
exec_file = (char *) get_exec_file (0);
|
||||
|
||||
/* Purge old solib objfiles. */
|
||||
objfile_purge_solibs ();
|
||||
|
||||
do_run_cleanups (NULL);
|
||||
|
||||
/* The exec file is re-read every time we do a generic_mourn_inferior, so
|
||||
we just have to worry about the symbol file. */
|
||||
/* The comment here used to read, "The exec file is re-read every
|
||||
time we do a generic_mourn_inferior, so we just have to worry
|
||||
about the symbol file." The `generic_mourn_inferior' function
|
||||
gets called whenever the program exits. However, suppose the
|
||||
program exits, and *then* the executable file changes? We need
|
||||
to check again here. Since reopen_exec_file doesn't do anything
|
||||
if the timestamp hasn't changed, I don't see the harm. */
|
||||
reopen_exec_file ();
|
||||
reread_symbols ();
|
||||
|
||||
exec_file = (char *) get_exec_file (0);
|
||||
|
||||
/* We keep symbols from add-symbol-file, on the grounds that the
|
||||
user might want to add some symbols before running the program
|
||||
(right?). But sometimes (dynamic loading where the user manually
|
||||
|
||||
Reference in New Issue
Block a user