keiths / rpms / gdb

Forked from rpms/gdb 11 days ago
Clone
43873a6
2004-09-27  Andrew Cagney  <cagney@gnu.org>
43873a6
43873a6
	* frame.c (get_prev_frame): Stop backtrace when a zero PC and
43873a6
	successive normal frames.
43873a6
407ebe9
Index: gdb-6.8.50.20081128/gdb/frame.c
43873a6
===================================================================
407ebe9
--- gdb-6.8.50.20081128.orig/gdb/frame.c	2008-12-04 01:34:37.000000000 +0100
407ebe9
+++ gdb-6.8.50.20081128/gdb/frame.c	2008-12-04 01:35:47.000000000 +0100
407ebe9
@@ -1566,6 +1566,18 @@ get_prev_frame (struct frame_info *this_
43873a6
       return NULL;
43873a6
     }
43873a6
 
43873a6
+  if (this_frame->level > 0
43873a6
+#if 0
43873a6
+      && backtrace_past_zero_pc
43873a6
+#endif
43873a6
+      && get_frame_type (this_frame) == NORMAL_FRAME
43873a6
+      && get_frame_type (get_next_frame (this_frame)) == NORMAL_FRAME
43873a6
+      && get_frame_pc (this_frame) == 0)
43873a6
+    {
407ebe9
+      frame_debug_got_null_frame (this_frame, "zero PC");
43873a6
+      return NULL;
43873a6
+    }
43873a6
+
43873a6
   return get_prev_frame_1 (this_frame);
43873a6
 }
43873a6