]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
2003-06-16 Andrew Cagney <cagney@redhat.com>
authorAndrew Cagney <cagney@redhat.com>
Mon, 16 Jun 2003 16:47:44 +0000 (16:47 +0000)
committerAndrew Cagney <cagney@redhat.com>
Mon, 16 Jun 2003 16:47:44 +0000 (16:47 +0000)
* gdbarch.sh (SAVE_DUMMY_FRAME_TOS): Deprecate.
* gdbarch.h, gdbarch.c: Re-generate.
* xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
* s390-tdep.c (s390_gdbarch_init): Update.
* rs6000-tdep.c (rs6000_gdbarch_init): Update.
* mn10300-tdep.c (mn10300_gdbarch_init): Update.
* mips-tdep.c (mips_gdbarch_init): Update.
* mcore-tdep.c (mcore_gdbarch_init): Update.
* cris-tdep.c (cris_gdbarch_init): Update.
* infcall.c (call_function_by_hand): Update.
* ia64-tdep.c (ia64_push_arguments): Update comment.
* frame.c (legacy_get_prev_frame): Do not assume
SAVE_DUMMY_FRAME_TOS_P.
* dummy-frame.c (find_dummy_frame): Update comment.

17 files changed:
gdb/ChangeLog
gdb/cris-tdep.c
gdb/doc/ChangeLog
gdb/doc/gdbint.texinfo
gdb/dummy-frame.c
gdb/frame.c
gdb/gdbarch.c
gdb/gdbarch.h
gdb/gdbarch.sh
gdb/ia64-tdep.c
gdb/infcall.c
gdb/mcore-tdep.c
gdb/mips-tdep.c
gdb/mn10300-tdep.c
gdb/rs6000-tdep.c
gdb/s390-tdep.c
gdb/xstormy16-tdep.c

index 5518789af235ae5fa7d06cb1cc333ef211659eb1..7c3d9e2af32a5e89eef6a9d193d9942979359c03 100644 (file)
@@ -1,3 +1,20 @@
+2003-06-16  Andrew Cagney  <cagney@redhat.com>
+
+       * gdbarch.sh (SAVE_DUMMY_FRAME_TOS): Deprecate.
+       * gdbarch.h, gdbarch.c: Re-generate.
+       * xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
+       * s390-tdep.c (s390_gdbarch_init): Update.
+       * rs6000-tdep.c (rs6000_gdbarch_init): Update.
+       * mn10300-tdep.c (mn10300_gdbarch_init): Update.
+       * mips-tdep.c (mips_gdbarch_init): Update.
+       * mcore-tdep.c (mcore_gdbarch_init): Update.
+       * cris-tdep.c (cris_gdbarch_init): Update.
+       * infcall.c (call_function_by_hand): Update.
+       * ia64-tdep.c (ia64_push_arguments): Update comment.
+       * frame.c (legacy_get_prev_frame): Do not assume
+       SAVE_DUMMY_FRAME_TOS_P.
+       * dummy-frame.c (find_dummy_frame): Update comment.
+
 2003-06-16  Andrew Cagney  <cagney@redhat.com>
 
        * regcache.c (do_cooked_read): Do not use register_valid_p.
index 0da68c0f33d71bb7b8d827108eba53412e90cd4f..3c7bf60a96ae6c5d4c9dcee5bb96f5cf5cc3566e 100644 (file)
@@ -4295,7 +4295,7 @@ cris_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
   set_gdbarch_deprecated_saved_pc_after_call (gdbarch, cris_saved_pc_after_call);
 
   /* Helpful for backtracing and returning in a call dummy.  */
-  set_gdbarch_save_dummy_frame_tos (gdbarch, generic_save_dummy_frame_tos);
+  set_gdbarch_deprecated_save_dummy_frame_tos (gdbarch, generic_save_dummy_frame_tos);
 
   /* Should be using push_dummy_call.  */
   set_gdbarch_deprecated_dummy_write_sp (gdbarch, deprecated_write_sp);
index 7dcda46c57a1a8a29e673ac35c972da28dae8663..b6eb66f24c400ed68f512b181b5af69041cdab23 100644 (file)
@@ -1,3 +1,8 @@
+2003-06-13  Andrew Cagney  <cagney@redhat.com>
+
+       * gdbint.texinfo (Target Architecture Definition): Deprecate
+       SAVE_DUMMY_FRAME_TOS.  Update description of "unwind_dummy_id".
+
 2003-06-13  Andrew Cagney  <cagney@redhat.com>
 
        * gdbint.texinfo (Target Architecture Definition): Deprecate
index 68ff5dc265b97171822150764ea83d35a3313ed4..6731189f8edb6e74b387ddb2539a21617f114a1e 100644 (file)
@@ -3701,7 +3701,9 @@ the inferior function onto the stack.  In addition to pushing
 @var{nargs}, the code should push @var{struct_addr} (when
 @var{struct_return}), and the return address (@var{bp_addr}).
 
-Returns the updated top-of-stack pointer.
+Returns the stack part of a frame ID that will be used to re-identify
+the dummy-frame after the called function returns.  The value must match
+the value returned by @code{unwind_dummy_id} (@pxref{unwind_dummy_id}).
 
 This method replaces @code{DEPRECATED_PUSH_ARGUMENTS}.
 
@@ -3753,13 +3755,14 @@ Deprecated in favor of @code{REGISTER_NAME}.
 Define this to return 1 if the given type will be passed by pointer
 rather than directly.
 
-@item SAVE_DUMMY_FRAME_TOS (@var{sp})
-@findex SAVE_DUMMY_FRAME_TOS
-@anchor{SAVE_DUMMY_FRAME_TOS} Used in @samp{call_function_by_hand} to
-notify the target dependent code of the top-of-stack value that will be
-passed to the the inferior code.  This is the value of the @code{SP}
-after both the dummy frame and space for parameters/results have been
-allocated on the stack.  @xref{unwind_dummy_id}.
+@item DEPRECATED_SAVE_DUMMY_FRAME_TOS (@var{sp})
+@findex DEPRECATED_SAVE_DUMMY_FRAME_TOS
+@anchor{DEPRECATED_SAVE_DUMMY_FRAME_TOS} Used in
+@samp{call_function_by_hand} to notify the target dependent code of the
+top-of-stack value that will be passed to the the inferior code.  This
+is the value of the @code{SP} after both the dummy frame and space for
+parameters/results have been allocated on the stack.
+@xref{unwind_dummy_id}.
 
 @item SDB_REG_TO_REGNUM
 @findex SDB_REG_TO_REGNUM
@@ -3945,9 +3948,12 @@ decoding routine.
 @findex unwind_dummy_id
 @anchor{unwind_dummy_id} Given @var{frame} return a @code{struct
 frame_id} that uniquely identifies an inferior function call's dummy
-frame.  The value returned must match the dummy frame stack value
-previously saved using @code{SAVE_DUMMY_FRAME_TOS}.
-@xref{SAVE_DUMMY_FRAME_TOS}.
+frame.
+
+The returned frame ID's stack address must match the address previously
+returned by @code{push_dummy_call}, and the returned frame ID's code
+address must match the address of the breakpoint instruction that the
+called function returns to (@pxref{push_dummy_call}).
 
 @item USE_STRUCT_CONVENTION (@var{gcc_p}, @var{type})
 @findex USE_STRUCT_CONVENTION
index c395c936e7021b50c5179caac899aa957160c9fd..9870433c3e153b18909dbf231082fac7db6a5ac3 100644 (file)
@@ -99,7 +99,7 @@ find_dummy_frame (CORE_ADDR pc, CORE_ADDR fp)
              FP against the saved SP and FP.  NOTE: If you're trying
              to fix a problem with GDB not correctly finding a dummy
              frame, check the comments that go with FRAME_ALIGN() and
-             SAVE_DUMMY_FRAME_TOS().  */
+             UNWIND_DUMMY_ID().  */
          if (fp != dummyframe->fp && fp != dummyframe->sp)
            continue;
        }
index 7c82941869095b164e299ead851ccfbb78ef848a..9a4af35cf78effa005b888facc88b351d4e503c1 100644 (file)
@@ -1403,10 +1403,6 @@ legacy_get_prev_frame (struct frame_info *this_frame)
             or some random address on the stack.  Trying to use that
             PC to apply standard frame ID unwind techniques is just
             asking for trouble.  */
-         /* Assume call_function_by_hand(), via SAVE_DUMMY_FRAME_TOS,
-            previously saved the dummy frame's ID.  Things only work
-            if the two return the same value.  */
-         gdb_assert (SAVE_DUMMY_FRAME_TOS_P ());
          /* Use an architecture specific method to extract the prev's
             dummy ID from the next frame.  Note that this method uses
             frame_register_unwind to obtain the register values
index 98afadea8e33741f19286b44d292e6b52ffe4fb0..c1ce57adbfd29db0cdf05d3777645000f62db44a 100644 (file)
@@ -173,7 +173,7 @@ struct gdbarch
   int deprecated_max_register_raw_size;
   int deprecated_max_register_virtual_size;
   gdbarch_unwind_dummy_id_ftype *unwind_dummy_id;
-  gdbarch_save_dummy_frame_tos_ftype *save_dummy_frame_tos;
+  gdbarch_deprecated_save_dummy_frame_tos_ftype *deprecated_save_dummy_frame_tos;
   int deprecated_fp_regnum;
   gdbarch_deprecated_target_read_fp_ftype *deprecated_target_read_fp;
   gdbarch_push_dummy_call_ftype *push_dummy_call;
@@ -341,7 +341,7 @@ struct gdbarch startup_gdbarch =
   0,  /* deprecated_max_register_raw_size */
   0,  /* deprecated_max_register_virtual_size */
   0,  /* unwind_dummy_id */
-  0,  /* save_dummy_frame_tos */
+  0,  /* deprecated_save_dummy_frame_tos */
   -1,  /* deprecated_fp_regnum */
   0,  /* deprecated_target_read_fp */
   0,  /* push_dummy_call */
@@ -649,7 +649,7 @@ verify_gdbarch (struct gdbarch *gdbarch)
   /* Skip verify of deprecated_max_register_raw_size, has predicate */
   /* Skip verify of deprecated_max_register_virtual_size, has predicate */
   /* Skip verify of unwind_dummy_id, has predicate */
-  /* Skip verify of save_dummy_frame_tos, has predicate */
+  /* Skip verify of deprecated_save_dummy_frame_tos, has predicate */
   /* Skip verify of deprecated_fp_regnum, invalid_p == 0 */
   /* Skip verify of deprecated_target_read_fp, has predicate */
   /* Skip verify of push_dummy_call, has predicate */
@@ -1557,6 +1557,29 @@ gdbarch_dump (struct gdbarch *gdbarch, struct ui_file *file)
                         (long) current_gdbarch->deprecated_saved_pc_after_call
                         /*DEPRECATED_SAVED_PC_AFTER_CALL ()*/);
 #endif
+#ifdef DEPRECATED_SAVE_DUMMY_FRAME_TOS_P
+  fprintf_unfiltered (file,
+                      "gdbarch_dump: %s # %s\n",
+                      "DEPRECATED_SAVE_DUMMY_FRAME_TOS_P()",
+                      XSTRING (DEPRECATED_SAVE_DUMMY_FRAME_TOS_P ()));
+  fprintf_unfiltered (file,
+                      "gdbarch_dump: DEPRECATED_SAVE_DUMMY_FRAME_TOS_P() = %d\n",
+                      DEPRECATED_SAVE_DUMMY_FRAME_TOS_P ());
+#endif
+#ifdef DEPRECATED_SAVE_DUMMY_FRAME_TOS
+#if GDB_MULTI_ARCH
+  /* Macro might contain `[{}]' when not multi-arch */
+  fprintf_unfiltered (file,
+                      "gdbarch_dump: %s # %s\n",
+                      "DEPRECATED_SAVE_DUMMY_FRAME_TOS(sp)",
+                      XSTRING (DEPRECATED_SAVE_DUMMY_FRAME_TOS (sp)));
+#endif
+  if (GDB_MULTI_ARCH)
+    fprintf_unfiltered (file,
+                        "gdbarch_dump: DEPRECATED_SAVE_DUMMY_FRAME_TOS = <0x%08lx>\n",
+                        (long) current_gdbarch->deprecated_save_dummy_frame_tos
+                        /*DEPRECATED_SAVE_DUMMY_FRAME_TOS ()*/);
+#endif
 #ifdef DEPRECATED_SIZEOF_CALL_DUMMY_WORDS
   fprintf_unfiltered (file,
                       "gdbarch_dump: DEPRECATED_SIZEOF_CALL_DUMMY_WORDS # %s\n",
@@ -2231,29 +2254,6 @@ gdbarch_dump (struct gdbarch *gdbarch, struct ui_file *file)
                         (long) current_gdbarch->return_value_on_stack
                         /*RETURN_VALUE_ON_STACK ()*/);
 #endif
-#ifdef SAVE_DUMMY_FRAME_TOS_P
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "SAVE_DUMMY_FRAME_TOS_P()",
-                      XSTRING (SAVE_DUMMY_FRAME_TOS_P ()));
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: SAVE_DUMMY_FRAME_TOS_P() = %d\n",
-                      SAVE_DUMMY_FRAME_TOS_P ());
-#endif
-#ifdef SAVE_DUMMY_FRAME_TOS
-#if GDB_MULTI_ARCH
-  /* Macro might contain `[{}]' when not multi-arch */
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "SAVE_DUMMY_FRAME_TOS(sp)",
-                      XSTRING (SAVE_DUMMY_FRAME_TOS (sp)));
-#endif
-  if (GDB_MULTI_ARCH)
-    fprintf_unfiltered (file,
-                        "gdbarch_dump: SAVE_DUMMY_FRAME_TOS = <0x%08lx>\n",
-                        (long) current_gdbarch->save_dummy_frame_tos
-                        /*SAVE_DUMMY_FRAME_TOS ()*/);
-#endif
 #ifdef SDB_REG_TO_REGNUM
   fprintf_unfiltered (file,
                       "gdbarch_dump: %s # %s\n",
@@ -3493,29 +3493,29 @@ set_gdbarch_unwind_dummy_id (struct gdbarch *gdbarch,
 }
 
 int
-gdbarch_save_dummy_frame_tos_p (struct gdbarch *gdbarch)
+gdbarch_deprecated_save_dummy_frame_tos_p (struct gdbarch *gdbarch)
 {
   gdb_assert (gdbarch != NULL);
-  return gdbarch->save_dummy_frame_tos != 0;
+  return gdbarch->deprecated_save_dummy_frame_tos != 0;
 }
 
 void
-gdbarch_save_dummy_frame_tos (struct gdbarch *gdbarch, CORE_ADDR sp)
+gdbarch_deprecated_save_dummy_frame_tos (struct gdbarch *gdbarch, CORE_ADDR sp)
 {
   gdb_assert (gdbarch != NULL);
-  if (gdbarch->save_dummy_frame_tos == 0)
+  if (gdbarch->deprecated_save_dummy_frame_tos == 0)
     internal_error (__FILE__, __LINE__,
-                    "gdbarch: gdbarch_save_dummy_frame_tos invalid");
+                    "gdbarch: gdbarch_deprecated_save_dummy_frame_tos invalid");
   if (gdbarch_debug >= 2)
-    fprintf_unfiltered (gdb_stdlog, "gdbarch_save_dummy_frame_tos called\n");
-  gdbarch->save_dummy_frame_tos (sp);
+    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_save_dummy_frame_tos called\n");
+  gdbarch->deprecated_save_dummy_frame_tos (sp);
 }
 
 void
-set_gdbarch_save_dummy_frame_tos (struct gdbarch *gdbarch,
-                                  gdbarch_save_dummy_frame_tos_ftype save_dummy_frame_tos)
+set_gdbarch_deprecated_save_dummy_frame_tos (struct gdbarch *gdbarch,
+                                             gdbarch_deprecated_save_dummy_frame_tos_ftype deprecated_save_dummy_frame_tos)
 {
-  gdbarch->save_dummy_frame_tos = save_dummy_frame_tos;
+  gdbarch->deprecated_save_dummy_frame_tos = deprecated_save_dummy_frame_tos;
 }
 
 int
index 53f3181791944b3d0c7c7fcfa1e70f9389612bc0..af6916df7b41a1c567825d74e41230f3b07a78e7 100644 (file)
@@ -829,39 +829,39 @@ extern void set_gdbarch_unwind_dummy_id (struct gdbarch *gdbarch, gdbarch_unwind
 /* Implement UNWIND_DUMMY_ID and PUSH_DUMMY_CALL, then delete
    SAVE_DUMMY_FRAME_TOS. */
 
-#if defined (SAVE_DUMMY_FRAME_TOS)
-/* Legacy for systems yet to multi-arch SAVE_DUMMY_FRAME_TOS */
-#if !defined (SAVE_DUMMY_FRAME_TOS_P)
-#define SAVE_DUMMY_FRAME_TOS_P() (1)
+#if defined (DEPRECATED_SAVE_DUMMY_FRAME_TOS)
+/* Legacy for systems yet to multi-arch DEPRECATED_SAVE_DUMMY_FRAME_TOS */
+#if !defined (DEPRECATED_SAVE_DUMMY_FRAME_TOS_P)
+#define DEPRECATED_SAVE_DUMMY_FRAME_TOS_P() (1)
 #endif
 #endif
 
 /* Default predicate for non- multi-arch targets. */
-#if (!GDB_MULTI_ARCH) && !defined (SAVE_DUMMY_FRAME_TOS_P)
-#define SAVE_DUMMY_FRAME_TOS_P() (0)
+#if (!GDB_MULTI_ARCH) && !defined (DEPRECATED_SAVE_DUMMY_FRAME_TOS_P)
+#define DEPRECATED_SAVE_DUMMY_FRAME_TOS_P() (0)
 #endif
 
-extern int gdbarch_save_dummy_frame_tos_p (struct gdbarch *gdbarch);
-#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) && defined (SAVE_DUMMY_FRAME_TOS_P)
-#error "Non multi-arch definition of SAVE_DUMMY_FRAME_TOS"
+extern int gdbarch_deprecated_save_dummy_frame_tos_p (struct gdbarch *gdbarch);
+#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) && defined (DEPRECATED_SAVE_DUMMY_FRAME_TOS_P)
+#error "Non multi-arch definition of DEPRECATED_SAVE_DUMMY_FRAME_TOS"
 #endif
-#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) || !defined (SAVE_DUMMY_FRAME_TOS_P)
-#define SAVE_DUMMY_FRAME_TOS_P() (gdbarch_save_dummy_frame_tos_p (current_gdbarch))
+#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) || !defined (DEPRECATED_SAVE_DUMMY_FRAME_TOS_P)
+#define DEPRECATED_SAVE_DUMMY_FRAME_TOS_P() (gdbarch_deprecated_save_dummy_frame_tos_p (current_gdbarch))
 #endif
 
 /* Default (function) for non- multi-arch platforms. */
-#if (!GDB_MULTI_ARCH) && !defined (SAVE_DUMMY_FRAME_TOS)
-#define SAVE_DUMMY_FRAME_TOS(sp) (internal_error (__FILE__, __LINE__, "SAVE_DUMMY_FRAME_TOS"), 0)
+#if (!GDB_MULTI_ARCH) && !defined (DEPRECATED_SAVE_DUMMY_FRAME_TOS)
+#define DEPRECATED_SAVE_DUMMY_FRAME_TOS(sp) (internal_error (__FILE__, __LINE__, "DEPRECATED_SAVE_DUMMY_FRAME_TOS"), 0)
 #endif
 
-typedef void (gdbarch_save_dummy_frame_tos_ftype) (CORE_ADDR sp);
-extern void gdbarch_save_dummy_frame_tos (struct gdbarch *gdbarch, CORE_ADDR sp);
-extern void set_gdbarch_save_dummy_frame_tos (struct gdbarch *gdbarch, gdbarch_save_dummy_frame_tos_ftype *save_dummy_frame_tos);
-#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) && defined (SAVE_DUMMY_FRAME_TOS)
-#error "Non multi-arch definition of SAVE_DUMMY_FRAME_TOS"
+typedef void (gdbarch_deprecated_save_dummy_frame_tos_ftype) (CORE_ADDR sp);
+extern void gdbarch_deprecated_save_dummy_frame_tos (struct gdbarch *gdbarch, CORE_ADDR sp);
+extern void set_gdbarch_deprecated_save_dummy_frame_tos (struct gdbarch *gdbarch, gdbarch_deprecated_save_dummy_frame_tos_ftype *deprecated_save_dummy_frame_tos);
+#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) && defined (DEPRECATED_SAVE_DUMMY_FRAME_TOS)
+#error "Non multi-arch definition of DEPRECATED_SAVE_DUMMY_FRAME_TOS"
 #endif
-#if !defined (SAVE_DUMMY_FRAME_TOS)
-#define SAVE_DUMMY_FRAME_TOS(sp) (gdbarch_save_dummy_frame_tos (current_gdbarch, sp))
+#if !defined (DEPRECATED_SAVE_DUMMY_FRAME_TOS)
+#define DEPRECATED_SAVE_DUMMY_FRAME_TOS(sp) (gdbarch_deprecated_save_dummy_frame_tos (current_gdbarch, sp))
 #endif
 
 /* Implement UNWIND_DUMMY_ID and PUSH_DUMMY_CALL, then delete
index 2e007a0c8a1bb0a155637dd2c3b61c8f59aec640..6f216de4ea1efca2b9ea0007fca6e788e364ac82 100755 (executable)
@@ -503,7 +503,7 @@ V:2:DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE:int:deprecated_max_register_virtual_siz
 M::UNWIND_DUMMY_ID:struct frame_id:unwind_dummy_id:struct frame_info *info:info::0:0
 # Implement UNWIND_DUMMY_ID and PUSH_DUMMY_CALL, then delete
 # SAVE_DUMMY_FRAME_TOS.
-F:2:SAVE_DUMMY_FRAME_TOS:void:save_dummy_frame_tos:CORE_ADDR sp:sp::0:0
+F:2:DEPRECATED_SAVE_DUMMY_FRAME_TOS:void:deprecated_save_dummy_frame_tos:CORE_ADDR sp:sp
 # Implement UNWIND_DUMMY_ID and PUSH_DUMMY_CALL, then delete
 # DEPRECATED_FP_REGNUM.
 v:2:DEPRECATED_FP_REGNUM:int:deprecated_fp_regnum::::-1:-1::0
index 8dc786c3797a2cb5116f3f5f11f78c75886a391c..63ebbeb38d6efb2c7c88c5e2756256287995841e 100644 (file)
@@ -2002,14 +2002,15 @@ ia64_push_arguments (int nargs, struct value **args, CORE_ADDR sp,
   /* Sync gdb's idea of what the registers are with the target. */
   target_store_registers (-1);
 
-  /* FIXME: This doesn't belong here!  Instead, SAVE_DUMMY_FRAME_TOS needs
-     to be defined to call generic_save_dummy_frame_tos().  But at the
-     time of this writing, SAVE_DUMMY_FRAME_TOS wasn't gdbarch'd, so
-     I chose to put this call here instead of using the old mechanisms. 
-     Once SAVE_DUMMY_FRAME_TOS is gdbarch'd, all we need to do is add the
-     line
-
-       set_gdbarch_save_dummy_frame_tos (gdbarch, generic_save_dummy_frame_tos);
+  /* FIXME: This doesn't belong here!  Instead,
+     DEPRECATED_SAVE_DUMMY_FRAME_TOS needs to be defined to call
+     generic_save_dummy_frame_tos().  But at the time of this writing,
+     DEPRECATED_SAVE_DUMMY_FRAME_TOS wasn't gdbarch'd, so I chose to
+     put this call here instead of using the old mechanisms.  Once
+     DEPRECATED_SAVE_DUMMY_FRAME_TOS is gdbarch'd, all we need to do
+     is add the line
+
+       set_gdbarch_deprecated_save_dummy_frame_tos (gdbarch, generic_save_dummy_frame_tos);
 
      to ia64_gdbarch_init() and remove the line below. */
   generic_save_dummy_frame_tos (sp);
index 0a10c31b287b3aca478092b56c78daca9e141c90..123fba067cf5974d20ccde0ca29564d2797dd8e9 100644 (file)
@@ -423,11 +423,11 @@ call_function_by_hand (struct value *function, int nargs, struct value **args)
       A follow-on change is to modify this interface so that it takes
       thread OR frame OR tpid as a parameter, and returns a dummy
       frame handle.  The handle can then be used further down as a
-      parameter SAVE_DUMMY_FRAME_TOS.  Hmm, thinking about it, since
-      everything is ment to be using generic dummy frames, why not
-      even use some of the dummy frame code to here - do a regcache
-      dup and then pass the duped regcache, along with all the other
-      stuff, at one single point.
+      parameter to generic_save_dummy_frame_tos().  Hmm, thinking
+      about it, since everything is ment to be using generic dummy
+      frames, why not even use some of the dummy frame code to here -
+      do a regcache dup and then pass the duped regcache, along with
+      all the other stuff, at one single point.
 
       In fact, you can even save the structure's return address in the
       dummy frame and fix one of those nasty lost struct return edge
@@ -474,15 +474,14 @@ call_function_by_hand (struct value *function, int nargs, struct value **args)
                    || (INNER_THAN (2, 1) && sp >= old_sp));
       }
     else
-      /* FIXME: cagney/2002-09-18: Hey, you loose!  Who knows how
-        badly aligned the SP is!  Further, per comment above, if the
-        generic dummy frame ends up empty (because nothing is pushed)
-        GDB won't be able to correctly perform back traces.  If a
-        target is having trouble with backtraces, first thing to do
-        is add FRAME_ALIGN() to its architecture vector.  After that,
-        try adding SAVE_DUMMY_FRAME_TOS() and modifying
-        DEPRECATED_FRAME_CHAIN so that when the next outer frame is a
-        generic dummy, it returns the current frame's base.  */
+      /* FIXME: cagney/2002-09-18: Hey, you loose!
+
+        Who knows how badly aligned the SP is!  Further, per comment
+        above, if the generic dummy frame ends up empty (because
+        nothing is pushed) GDB won't be able to correctly perform
+        back traces.  If a target is having trouble with backtraces,
+        first thing to do is add FRAME_ALIGN() to the architecture
+        vector. If that fails, try unwind_dummy_id().  */
       sp = old_sp;
   }
 
@@ -831,8 +830,8 @@ You must use a pointer to function type variable. Command ignored.", arg_name);
       gdb_assert (DEPRECATED_USE_GENERIC_DUMMY_FRAMES);
       generic_save_dummy_frame_tos (sp);
     }
-  else if (SAVE_DUMMY_FRAME_TOS_P ())
-    SAVE_DUMMY_FRAME_TOS (sp);
+  else if (DEPRECATED_SAVE_DUMMY_FRAME_TOS_P ())
+    DEPRECATED_SAVE_DUMMY_FRAME_TOS (sp);
 
   /* Now proceed, having reached the desired place.  */
   clear_proceed_status ();
index 18d7600f89c4b195279ed1408ed489b5c69ac52b..4b860e52d2b51d62d5c0a0dcacf6d60612048bf5 100644 (file)
@@ -1079,7 +1079,7 @@ mcore_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
 
   set_gdbarch_deprecated_call_dummy_words (gdbarch, call_dummy_words);
   set_gdbarch_deprecated_sizeof_call_dummy_words (gdbarch, 0);
-  set_gdbarch_save_dummy_frame_tos (gdbarch, generic_save_dummy_frame_tos);
+  set_gdbarch_deprecated_save_dummy_frame_tos (gdbarch, generic_save_dummy_frame_tos);
   set_gdbarch_deprecated_saved_pc_after_call (gdbarch, mcore_saved_pc_after_call);
   set_gdbarch_function_start_offset (gdbarch, 0);
   set_gdbarch_decr_pc_after_break (gdbarch, 0);
index 3561c5facbf571628295d35d27cd2ffc7f0b64be..4ecb96894ec20678d87d43d293407e1d1a77dd34 100644 (file)
@@ -5947,7 +5947,7 @@ mips_gdbarch_init (struct gdbarch_info info,
   set_gdbarch_call_dummy_address (gdbarch, mips_call_dummy_address);
   set_gdbarch_deprecated_pop_frame (gdbarch, mips_pop_frame);
   set_gdbarch_frame_align (gdbarch, mips_frame_align);
-  set_gdbarch_save_dummy_frame_tos (gdbarch, generic_save_dummy_frame_tos);
+  set_gdbarch_deprecated_save_dummy_frame_tos (gdbarch, generic_save_dummy_frame_tos);
   set_gdbarch_deprecated_register_convertible (gdbarch, mips_register_convertible);
   set_gdbarch_deprecated_register_convert_to_virtual (gdbarch, mips_register_convert_to_virtual);
   set_gdbarch_deprecated_register_convert_to_raw (gdbarch, mips_register_convert_to_raw);
index 85b4a8ea0b2cb25a6a7c1b7ee3acef1e58461a6c..3519495f5f9466d1dbb483e8236b7d9a89d1bdec 100644 (file)
@@ -1201,7 +1201,7 @@ mn10300_gdbarch_init (struct gdbarch_info info,
   set_gdbarch_deprecated_push_arguments (gdbarch, mn10300_push_arguments);
   set_gdbarch_reg_struct_has_addr (gdbarch, mn10300_reg_struct_has_addr);
   set_gdbarch_deprecated_push_return_address (gdbarch, mn10300_push_return_address);
-  set_gdbarch_save_dummy_frame_tos (gdbarch, generic_save_dummy_frame_tos);
+  set_gdbarch_deprecated_save_dummy_frame_tos (gdbarch, generic_save_dummy_frame_tos);
   set_gdbarch_use_struct_convention (gdbarch, mn10300_use_struct_convention);
 
   tdep->am33_mode = am33_mode;
index 2e52ee52c7dcd2c1104af2836abfa78429d32267..e12a6bea38a43e0d0ce5f84d9cbdf2abb83a6a27 100644 (file)
@@ -2940,7 +2940,7 @@ rs6000_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
 
   set_gdbarch_deprecated_fix_call_dummy (gdbarch, rs6000_fix_call_dummy);
   set_gdbarch_frame_align (gdbarch, rs6000_frame_align);
-  set_gdbarch_save_dummy_frame_tos (gdbarch, generic_save_dummy_frame_tos);
+  set_gdbarch_deprecated_save_dummy_frame_tos (gdbarch, generic_save_dummy_frame_tos);
   set_gdbarch_deprecated_push_return_address (gdbarch, ppc_push_return_address);
   set_gdbarch_believe_pcc_promotion (gdbarch, 1);
 
index e3bf67778b627cf73f2291c970716554f2e85b2f..10df09501b3503bd7b07b0a51f1c931fe1cef01e 100644 (file)
@@ -1860,7 +1860,7 @@ s390_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
   set_gdbarch_deprecated_pc_in_call_dummy (gdbarch, deprecated_pc_in_call_dummy_at_entry_point);
   set_gdbarch_frame_align (gdbarch, s390_frame_align);
   set_gdbarch_deprecated_push_arguments (gdbarch, s390_push_arguments);
-  set_gdbarch_save_dummy_frame_tos (gdbarch, generic_save_dummy_frame_tos);
+  set_gdbarch_deprecated_save_dummy_frame_tos (gdbarch, generic_save_dummy_frame_tos);
   set_gdbarch_deprecated_push_return_address (gdbarch,
                                               s390_push_return_address);
   set_gdbarch_deprecated_sizeof_call_dummy_words (gdbarch, sizeof (s390_call_dummy_words));
index 9c0c70aeadcf9d0d9f7aff626003d5b9e35a576f..076bd23464d5979e38d2d4ddcff893ad43a76186 100644 (file)
@@ -1104,7 +1104,7 @@ xstormy16_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
 
   set_gdbarch_stack_align (gdbarch, xstormy16_stack_align);
 
-  set_gdbarch_save_dummy_frame_tos (gdbarch, xstormy16_save_dummy_frame_tos);
+  set_gdbarch_deprecated_save_dummy_frame_tos (gdbarch, xstormy16_save_dummy_frame_tos);
 
   set_gdbarch_skip_trampoline_code (gdbarch, xstormy16_skip_trampoline_code);