* 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:
Peter Schauer
1993-07-27 19:40:57 +00:00
parent 62cd4a2067
commit 0eb22669dc
5 changed files with 54 additions and 11 deletions

View File

@@ -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