2002-12-13 Andrew Cagney <ac131313@redhat.com>
authorAndrew Cagney <cagney@redhat.com>
Fri, 13 Dec 2002 23:18:56 +0000 (23:18 +0000)
committerAndrew Cagney <cagney@redhat.com>
Fri, 13 Dec 2002 23:18:56 +0000 (23:18 +0000)
* frame.h (get_frame_saved_regs): Declare.
(frame_saved_regs_zalloc): Change return type to CORE_ADDR
pointer.
* frame.c (get_frame_saved_regs): New function.
(frame_saved_regs_zalloc): Return the allocated saved_regs.

gdb/ChangeLog
gdb/frame.c
gdb/frame.h

index 9a81acc..eef2d2e 100644 (file)
@@ -1,5 +1,13 @@
 2002-12-13  Andrew Cagney  <ac131313@redhat.com>
 
+       * frame.h (get_frame_saved_regs): Declare.
+       (frame_saved_regs_zalloc): Change return type to CORE_ADDR
+       pointer.
+       * frame.c (get_frame_saved_regs): New function.
+       (frame_saved_regs_zalloc): Return the allocated saved_regs.
+
+2002-12-13  Andrew Cagney  <ac131313@redhat.com>
+
        * frame.c (deprecated_update_current_frame_pc_hack): New
        function.
        * frame.h (deprecated_update_current_frame_pc_hack): Declare.
index 44e0811..17ee832 100644 (file)
@@ -461,14 +461,20 @@ frame_obstack_alloc (unsigned long size)
   return obstack_alloc (&frame_cache_obstack, size);
 }
 
-void
+CORE_ADDR *
 frame_saved_regs_zalloc (struct frame_info *fi)
 {
   fi->saved_regs = (CORE_ADDR *)
     frame_obstack_alloc (SIZEOF_FRAME_SAVED_REGS);
   memset (fi->saved_regs, 0, SIZEOF_FRAME_SAVED_REGS);
+  return fi->saved_regs;
 }
 
+CORE_ADDR *
+get_frame_saved_regs (struct frame_info *fi)
+{
+  return fi->saved_regs;
+}
 
 /* Return the innermost (currently executing) stack frame.  */
 
index f54f185..234c281 100644 (file)
@@ -473,7 +473,6 @@ enum print_what
         (sizeof (CORE_ADDR) * (NUM_REGS+NUM_PSEUDO_REGS))
 
 extern void *frame_obstack_alloc (unsigned long size);
-extern void frame_saved_regs_zalloc (struct frame_info *);
 
 /* Define a default FRAME_CHAIN_VALID, in the form that is suitable for most
    targets.  If FRAME_CHAIN_VALID returns zero it means that the given frame
@@ -654,6 +653,13 @@ extern struct frame_extra_info *frame_extra_info_zalloc (struct frame_info *fi,
                                                         long size);
 extern struct frame_extra_info *get_frame_extra_info (struct frame_info *fi);
 
+/* Create/access the frame's `saved_regs'.  The saved regs are used by
+   older code to store the address of each register (except for
+   SP_REGNUM where the value of the register in the previous frame is
+   stored).  */
+extern CORE_ADDR *frame_saved_regs_zalloc (struct frame_info *);
+extern CORE_ADDR *get_frame_saved_regs (struct frame_info *);
+
 /* FIXME: cagney/2002-12-06: Has the PC in the current frame changed?
    "infrun.c", Thanks to DECR_PC_AFTER_BREAK, can change the PC after
    the initial frame create.  This puts things back in sync.  */