s/ui_out_list/ui_out_tupple/
[deliverable/binutils-gdb.git] / gdb / frame.h
index 71cf383fcfe2da70698dd925350eb4db3d0a77f6..5d9880183a2d7f8a766805729e7e434a8c7b0ccc 100644 (file)
@@ -1,5 +1,6 @@
 /* Definitions for dealing with stack frames, for GDB, the GNU debugger.
-   Copyright 1986, 1989, 1991, 1992, 1999, 2000 Free Software Foundation, Inc.
+   Copyright 1986, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1996, 1997,
+   1998, 1999, 2000, 2001 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -80,7 +81,7 @@ struct frame_info
        address where the sp was saved.  */
     /* Allocated by frame_saved_regs_zalloc () which is called /
        initialized by FRAME_INIT_SAVED_REGS(). */
-    CORE_ADDR *saved_regs;     /*NUM_REGS */
+    CORE_ADDR *saved_regs;     /*NUM_REGS + NUM_PSEUDO_REGS*/
 
 #ifdef EXTRA_FRAME_INFO
     /* XXXX - deprecated */
@@ -113,11 +114,17 @@ enum print_what
     LOC_AND_ADDRESS 
   };
 
-/* Allocate additional space for appendices to a struct frame_info. */
+/* Allocate additional space for appendices to a struct frame_info.
+   NOTE: Much of GDB's code works on the assumption that the allocated
+   saved_regs[] array is the size specified below.  If you try to make
+   that array smaller, GDB will happily walk off its end. */
 
-#ifndef SIZEOF_FRAME_SAVED_REGS
-#define SIZEOF_FRAME_SAVED_REGS (sizeof (CORE_ADDR) * (NUM_REGS))
+#ifdef SIZEOF_FRAME_SAVED_REGS
+#error "SIZEOF_FRAME_SAVED_REGS can not be re-defined"
 #endif
+#define SIZEOF_FRAME_SAVED_REGS \
+        (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 *);
 
@@ -265,4 +272,9 @@ extern void generic_get_saved_register (char *, int *, CORE_ADDR *,
                                        struct frame_info *, int,
                                        enum lval_type *);
 
+extern void get_saved_register (char *raw_buffer, int *optimized,
+                               CORE_ADDR * addrp,
+                               struct frame_info *frame,
+                               int regnum, enum lval_type *lval);
+
 #endif /* !defined (FRAME_H)  */
This page took 0.024835 seconds and 4 git commands to generate.