Index: objfiles.c =================================================================== RCS file: /cvs/src/src/gdb/objfiles.c,v retrieving revision 1.86 diff -u -p -u -r1.86 objfiles.c --- objfiles.c 21 Jul 2009 20:54:30 -0000 1.86 +++ objfiles.c 22 Jul 2009 15:43:47 -0000 @@ -682,6 +682,7 @@ objfile_relocate (struct objfile *objfil /* Relocate breakpoints as necessary, after things are relocated. */ breakpoint_re_set (); + objfiles_updated_p = 1; /* Rebuild section map next time we need it. */ } /* Many places in gdb want to test just to see if we have any partial @@ -1007,10 +1008,20 @@ set_objfiles_updated_on_solib_activity ( objfiles_updated_p = 1; /* Rebuild section map next time we need it. */ } +/* Set objfiles_updated_p so section map will be rebuilt next time it + is used. Called by new_objfile observer. */ + +static void +set_objfiles_updated_on_new_objfile (struct objfile *objfile) +{ + objfiles_updated_p = 1; /* Rebuild section map next time we need it. */ +} + void _initialize_objfiles (void) { observer_attach_executable_changed (set_objfiles_updated_on_exe_change); + observer_attach_new_objfile (set_objfiles_updated_on_new_objfile); observer_attach_solib_loaded (set_objfiles_updated_on_solib_activity); observer_attach_solib_unloaded (set_objfiles_updated_on_solib_activity); }