aboutsummaryrefslogtreecommitdiff
path: root/gdb/objfiles.c
diff options
context:
space:
mode:
authorPeter Schauer <Peter.Schauer@mytum.de>1993-07-27 19:40:57 +0000
committerPeter Schauer <Peter.Schauer@mytum.de>1993-07-27 19:40:57 +0000
commit0eb22669dc339b3d59eba3324a8c77592e0395c3 (patch)
treef145b3f7025ae5c96e46bf41fd5e859750fe5eb9 /gdb/objfiles.c
parent62cd4a20676cc2df7aafe16aeca3d66c8d57c0f7 (diff)
downloadgdb-0eb22669dc339b3d59eba3324a8c77592e0395c3.zip
gdb-0eb22669dc339b3d59eba3324a8c77592e0395c3.tar.gz
gdb-0eb22669dc339b3d59eba3324a8c77592e0395c3.tar.bz2
* 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.
Diffstat (limited to 'gdb/objfiles.c')
-rw-r--r--gdb/objfiles.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gdb/objfiles.c b/gdb/objfiles.c
index ac238ab..060409d 100644
--- a/gdb/objfiles.c
+++ b/gdb/objfiles.c
@@ -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