2002-12-13 Andrew Cagney <ac131313@redhat.com>
authorAndrew Cagney <cagney@redhat.com>
Fri, 13 Dec 2002 16:11:32 +0000 (16:11 +0000)
committerAndrew Cagney <cagney@redhat.com>
Fri, 13 Dec 2002 16:11:32 +0000 (16:11 +0000)
* frame.c (frame_extra_info_zalloc): New function.
* frame.h (frame_extra_info_zalloc): Declare.

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

index 11e6208b5c65eb735c3abdac69f2cb98704dc0cc..def947ccdac6468881945b984d501f883964b6d0 100644 (file)
@@ -1,3 +1,8 @@
+2002-12-13  Andrew Cagney  <ac131313@redhat.com>
+
+       * frame.c (frame_extra_info_zalloc): New function.
+       * frame.h (frame_extra_info_zalloc): Declare.
+
 2002-12-13  Joel Brobecker  <brobecker@gnat.com>
 
        * hppa-tdep.c (hppa_pop_frame): Fix a compilation error introduced
index 16a8283c46bf4ea36d6a06adf27d9088e38867a4..4ed66b3c410248498d4658fd9019185fa214aa4b 100644 (file)
@@ -1209,6 +1209,14 @@ get_frame_extra_info (struct frame_info *fi)
   return fi->extra_info;
 }
 
+struct frame_extra_info *
+frame_extra_info_zalloc (struct frame_info *fi, long size)
+{
+  fi->extra_info = frame_obstack_alloc (size);
+  memset (fi->extra_info, 0, size);
+  return fi->extra_info;
+}
+
 void
 _initialize_frame (void)
 {
index 1fccc8421863f819128e5c79af8be4c32a5e1a34..d42780de55c402be8b5670d1a923e921e4aeba74 100644 (file)
@@ -644,11 +644,12 @@ extern void set_current_frame (struct frame_info *);
 extern struct frame_info *create_new_frame (CORE_ADDR, CORE_ADDR);
 
 
-/* NOTE: cagney/2002-12-10:
-
-   Let older code access the member `extra_info'.  This member is
-   always initialized during frame creation so is always non-null.  */
+/* Create/access the frame's `extra info'.  The extra info is used by
+   older code to store information such as the analyzed prologue.  The
+   zalloc() should only be called by the INIT_EXTRA_INFO method.  */
 
+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);
 
 #endif /* !defined (FRAME_H)  */