* blockframe.c (frame_saved_regs_register_unwind): Revise
authorKevin Buettner <kevinb@redhat.com>
Fri, 9 Aug 2002 18:26:15 +0000 (18:26 +0000)
committerKevin Buettner <kevinb@redhat.com>
Fri, 9 Aug 2002 18:26:15 +0000 (18:26 +0000)
PC_IN_CALL_DUMMY assertion to only apply when generic dummy
frames are in use.

gdb/ChangeLog
gdb/blockframe.c

index 659e8b041fdfa52b058f58fcea9811ab462954d2..8b3e8db47a23579e7563b51270f2792c1831c124 100644 (file)
@@ -1,3 +1,9 @@
+2002-08-09  Kevin Buettner  <kevinb@redhat.com>
+
+       * blockframe.c (frame_saved_regs_register_unwind): Revise
+       PC_IN_CALL_DUMMY assertion to only apply when generic dummy
+       frames are in use.
+
 2002-08-09  Grace Sainsbury  <graces@redhat.com>
         
        * remote.c: (remote_wait, remote_async_wait): Add check for awatch
index 93a4765e7d57e4b67e91ca5acd7df0c4ba490e29..d255beecc1fd0d41783eb0d3283454009c57dd56 100644 (file)
@@ -1410,7 +1410,11 @@ frame_saved_regs_register_unwind (struct frame_info *frame, void **cache,
   /* There is always a frame at this point.  And THIS is the frame
      we're interested in.  */
   gdb_assert (frame != NULL);
-  gdb_assert (!PC_IN_CALL_DUMMY (frame->pc, frame->frame, frame->frame));
+  /* If we're using generic dummy frames, we'd better not be in a call
+     dummy.  (generic_call_dummy_register_unwind ought to have been called
+     instead.)  */
+  gdb_assert (!(USE_GENERIC_DUMMY_FRAMES
+                && PC_IN_CALL_DUMMY (frame->pc, frame->frame, frame->frame)));
 
   /* Load the saved_regs register cache.  */
   if (frame->saved_regs == NULL)