This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[commit+7.4] Fix stale frame_info * (PR 13716)


Hi,

obvious fix, a usual bug of GDB.

This looked like a 7.4 regression due to the entryval patchset but it just
excersises the frame cache more.

Going to post yet some cleanup to prevent more such bugs in the future.

Checked in:
	http://sourceware.org/ml/gdb-cvs/2012-02/msg00144.html
and into 7.4:
	http://sourceware.org/ml/gdb-cvs/2012-02/msg00145.html


Thanks,
Jan


http://sourceware.org/ml/gdb-cvs/2012-02/msg00144.html

--- src/gdb/ChangeLog	2012/02/22 18:20:33	1.13857
+++ src/gdb/ChangeLog	2012/02/23 08:14:58	1.13858
@@ -1,3 +1,9 @@
+2012-02-23  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	PR backtrace/13716
+	* infcmd.c (finish_forward): New variable frame_id, initialize it, use
+	it after set_momentary_breakpoint.
+
 2012-02-22  Sterling Augustine  <saugustine@google.com>
 
 	PR 13689:
--- src/gdb/infcmd.c	2012/02/15 19:13:13	1.297
+++ src/gdb/infcmd.c	2012/02/23 08:15:04	1.298
@@ -1636,6 +1636,7 @@
 static void
 finish_forward (struct symbol *function, struct frame_info *frame)
 {
+  struct frame_id frame_id = get_frame_id (frame);
   struct gdbarch *gdbarch = get_frame_arch (frame);
   struct symtab_and_line sal;
   struct thread_info *tp = inferior_thread ();
@@ -1653,7 +1654,7 @@
 
   old_chain = make_cleanup_delete_breakpoint (breakpoint);
 
-  set_longjmp_breakpoint (tp, get_frame_id (frame));
+  set_longjmp_breakpoint (tp, frame_id);
   make_cleanup (delete_longjmp_breakpoint_cleanup, &thread);
 
   /* We want stop_registers, please...  */


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]