* 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:
Joel Brobecker 2005-03-08 04:34:45 +00:00
parent 9a6351f1d2
commit ea53e89f14
6 changed files with 88 additions and 8 deletions

View file

@ -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);
}
}