mirror of
https://github.com/bminor/binutils-gdb.git
synced 2025-12-26 17:18:55 +00:00
* breakpoint.c (breakpoint_1): Walk the breakpoint chain to decide if
we have breakpoints or watchpoints as we might have to ignore internal breakpoints. Fix gdb core dumps after `file newfile' commands. * symtab.h, symfile.c (clear_symtab_users): New routine which unconditionally clears symtab users. clear_symtab_users_once commented out as it was a noop anyway. * objfiles.c (free_objfile): Don't call clear_symtab_users_once. * objfiles.c (free_all_objfiles), symfile.c (new_symfile_objfile), xcoffexec.c (exec_close): Call clear_symtab_users if necessary. * symfile.c (syms_from_objfile): Install cleanups for errors during symbol reading. * coffread.c, dbxread.c, mipsread.c, xcoffread.c (*_symfile_read): Lint cleanup code, call do_cleanups explicitly. * symfile.c (symbol_file_add): Call new_symfile_objfile and reinit_frame_cache _after_ the new symbols are read in.
This commit is contained in:
@@ -336,7 +336,6 @@ free_objfile (objfile)
|
||||
is unknown, but we play it safe for now and keep each action until
|
||||
it is shown to be no longer needed. */
|
||||
|
||||
clear_symtab_users_once ();
|
||||
#if defined (CLEAR_SOLIB)
|
||||
CLEAR_SOLIB ();
|
||||
#endif
|
||||
@@ -384,7 +383,7 @@ free_objfile (objfile)
|
||||
}
|
||||
|
||||
|
||||
/* Free all the object files at once. */
|
||||
/* Free all the object files at once and clean up their users. */
|
||||
|
||||
void
|
||||
free_all_objfiles ()
|
||||
@@ -395,6 +394,7 @@ free_all_objfiles ()
|
||||
{
|
||||
free_objfile (objfile);
|
||||
}
|
||||
clear_symtab_users ();
|
||||
}
|
||||
|
||||
/* Relocate OBJFILE to NEW_OFFSETS. There should be OBJFILE->NUM_SECTIONS
|
||||
|
||||
Reference in New Issue
Block a user