aboutsummaryrefslogtreecommitdiff
path: root/gdb/symfile.c
diff options
context:
space:
mode:
authorDaniel Jacobowitz <drow@false.org>2005-03-08 21:40:46 +0000
committerDaniel Jacobowitz <drow@false.org>2005-03-08 21:40:46 +0000
commitc0501be5509727c0361a0bf501f7dc4e799cb03c (patch)
tree052ccb8c9316e0b90a302d9dcf1cbf496b763251 /gdb/symfile.c
parent399132afa6e28b8cdd81b0f92aec9f723069029d (diff)
downloadgdb-c0501be5509727c0361a0bf501f7dc4e799cb03c.zip
gdb-c0501be5509727c0361a0bf501f7dc4e799cb03c.tar.gz
gdb-c0501be5509727c0361a0bf501f7dc4e799cb03c.tar.bz2
* symfile.c (clear_symtab_users): Call
clear_current_source_symtab_and_line first.
Diffstat (limited to 'gdb/symfile.c')
-rw-r--r--gdb/symfile.c6
1 files changed, 5 insertions, 1 deletions
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);