aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorJoel Brobecker <brobecker@adacore.com>2015-01-31 13:04:51 -0800
committerDoug Evans <xdje42@gmail.com>2015-01-31 13:04:51 -0800
commitd4137b858a8b7916668f160a166ee375adcb601b (patch)
tree74623cfacbbe28dae828d7b349eceec7bdae31ab /gdb
parentd0e6fdd38a2c11e9b95f38075eef3f5cf82877d7 (diff)
downloadfsf-binutils-gdb-d4137b858a8b7916668f160a166ee375adcb601b.zip
fsf-binutils-gdb-d4137b858a8b7916668f160a166ee375adcb601b.tar.gz
fsf-binutils-gdb-d4137b858a8b7916668f160a166ee375adcb601b.tar.bz2
PR symtab/17855
gdb/ChangeLog: PR symtab/17855 * symfile.c (clear_symtab_users): Move call to breakpoint_re_set to end.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog6
-rw-r--r--gdb/symfile.c6
2 files changed, 10 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 0e2a31c..e14489b 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,9 @@
+2015-01-31 Joel Brobecker <brobecker@adacore.com>
+
+ PR symtab/17855
+ * symfile.c (clear_symtab_users): Move call to breakpoint_re_set
+ to end.
+
2015-01-31 Eli Zaretskii <eliz@gnu.org>
* tui/tui-io.c (tui_expand_tabs): New function.
diff --git a/gdb/symfile.c b/gdb/symfile.c
index d55e361..04a5c58 100644
--- a/gdb/symfile.c
+++ b/gdb/symfile.c
@@ -3028,8 +3028,6 @@ clear_symtab_users (int add_flags)
clear_current_source_symtab_and_line ();
clear_displays ();
- if ((add_flags & SYMFILE_DEFER_BP_RESET) == 0)
- breakpoint_re_set ();
clear_last_displayed_sal ();
clear_pc_function_cache ();
observer_notify_new_objfile (NULL);
@@ -3043,6 +3041,10 @@ clear_symtab_users (int add_flags)
/* Varobj may refer to old symbols, perform a cleanup. */
varobj_invalidate ();
+ /* Now that the various caches have been cleared, we can re_set
+ our breakpoints without risking it using stale data. */
+ if ((add_flags & SYMFILE_DEFER_BP_RESET) == 0)
+ breakpoint_re_set ();
}
static void