diff options
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/symfile.c | 6 |
2 files changed, 10 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 70e4478..ccb361f 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2005-03-08 Daniel Jacobowitz <dan@codesourcery.com> + + * symfile.c (clear_symtab_users): Call + clear_current_source_symtab_and_line first. + 2005-03-08 Nathan Sidwell <nathan@codesourcery.com> * ax-gdb.c (gen_expr): Add UNOP_PLUS case. diff --git a/gdb/symfile.c b/gdb/symfile.c index 1dbc2b2..89878bc 100644 --- a/gdb/symfile.c +++ b/gdb/symfile.c @@ -2367,12 +2367,16 @@ clear_symtab_users (void) { /* Someday, we should do better than this, by only blowing away the things that really need to be blown. */ + + /* Clear the "current" symtab first, because it is no longer valid. + breakpoint_re_set may try to access the current symtab. */ + clear_current_source_symtab_and_line (); + clear_value_history (); clear_displays (); clear_internalvars (); breakpoint_re_set (); set_default_breakpoint (0, 0, 0, 0); - clear_current_source_symtab_and_line (); clear_pc_function_cache (); if (deprecated_target_new_objfile_hook) deprecated_target_new_objfile_hook (NULL); |