2003-10-16 Andrew Cagney <cagney@redhat.com>
authorAndrew Cagney <cagney@redhat.com>
Thu, 16 Oct 2003 18:24:13 +0000 (18:24 +0000)
committerAndrew Cagney <cagney@redhat.com>
Thu, 16 Oct 2003 18:24:13 +0000 (18:24 +0000)
* infrun.c (handle_inferior_event): Add comment about
"frame_id_inner" being too weak.

gdb/ChangeLog
gdb/infrun.c

index 3834c5481eecd3439b3c0c0d9ec899e2793e15ac..654f63f5d9b781185c17cd235ff28522b5997819 100644 (file)
@@ -1,3 +1,8 @@
+2003-10-16  Andrew Cagney  <cagney@redhat.com>
+
+       * infrun.c (handle_inferior_event): Add comment about
+       "frame_id_inner" being too weak.
+
 2003-10-16  Elena Zannoni  <ezannoni@redhat.com>
 
        * minsyms.c (lookup_minimal_symbol_solib_trampoline): Remove
index e22a90a92672934d85eb7c06e65ca6ae3b81806c..7412080ba35071cd24c938dc2a2fdc33dd419627 100644 (file)
@@ -2636,6 +2636,22 @@ process_event_stop_test:
   /* In the case where we just stepped out of a function into the
      middle of a line of the caller, continue stepping, but
      step_frame_id must be modified to current frame */
+#if 0
+  /* NOTE: cagney/2003-10-16: I think this frame ID inner test is too
+     generous.  It will trigger on things like a step into a frameless
+     stackless leaf function.  I think the logic should instead look
+     at the unwound frame ID has that should give a more robust
+     indication of what happened.  */
+     if (step-ID == current-ID)
+       still stepping in same function;
+     else if (step-ID == unwind (current-ID))
+       stepped into a function;
+     else
+       stepped out of a function;
+     /* Of course this assumes that the frame ID unwind code is robust
+        and we're willing to introduce frame unwind logic into this
+        function.  Fortunatly, those days are nearly upon us.  */
+#endif
   {
     struct frame_id current_frame = get_frame_id (get_current_frame ());
     if (!(frame_id_inner (current_frame, step_frame_id)))