* doc/observer.texi (executable_changed): New observer.
* symtab.c: Include "observer.h". (find_main_name): New function. (main_name): If name_of_main is unset, then compute it using find_main_name. (symtab_observer_executable_changed): New function. (_initialize_symtab): Attach executable_changed observer. * exec.c: Include "observer.h". (exec_file_attach): Emit executable_changed notification. * symfile.c: Include "observer.h". (reread_symbols): Send an executable_changed if appropriate. * Makefile.in (exec.o): Add dependency on observer.h. (symfile.o): Likewise. (symtab.o): Likewise.
This commit is contained in:
parent
9a6351f1d2
commit
ea53e89f14
6 changed files with 88 additions and 8 deletions
|
@ -48,6 +48,7 @@
|
|||
#include "readline/readline.h"
|
||||
#include "gdb_assert.h"
|
||||
#include "block.h"
|
||||
#include "observer.h"
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <fcntl.h>
|
||||
|
@ -2013,7 +2014,13 @@ reread_symbols (void)
|
|||
}
|
||||
|
||||
if (reread_one)
|
||||
clear_symtab_users ();
|
||||
{
|
||||
clear_symtab_users ();
|
||||
/* At least one objfile has changed, so we can consider that
|
||||
the executable we're debugging has changed too. */
|
||||
observer_notify_executable_changed (NULL);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue