This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[patch] Deprecate generic_find_dummy_frame()


Hello,

More ``struct regcache'' fallout. This one I just happened across while reviewing the next regcache change.

The attached patch deprecates the generic_find_dummy_frame() function. As the comment points out, code no longer needs this. Instead either register-unwind or get-saved-regs can be used to obtain register values.

committed,
Andrew

2002-06-26  Andrew Cagney  <cagney@redhat.com>

	* frame.h (deprecated_generic_find_dummy_frame): Rename
	generic_find_dummy_frame.
	* blockframe.c (generic_find_dummy_frame): Make static.
	(deprecated_generic_find_dummy_frame): New function.
	* sh-tdep.c (sh_nofp_frame_init_saved_regs): Replace
	generic_find_dummy_frame with deprecated_find_dummy_frame.
	(sh64_nofp_frame_init_saved_regs): Ditto.
	(sh_fp_frame_init_saved_regs): Ditto.
	* s390-tdep.c (s390_frame_saved_pc_nofix): Ditto.
	(s390_frame_chain): Ditto.
	* cris-tdep.c (cris_frame_init_saved_regs): Ditto.

Index: blockframe.c
===================================================================
RCS file: /cvs/src/src/gdb/blockframe.c,v
retrieving revision 1.29
diff -u -r1.29 blockframe.c
--- blockframe.c	8 Jun 2002 18:30:14 -0000	1.29
+++ blockframe.c	26 Jun 2002 15:13:41 -0000
@@ -1144,7 +1144,7 @@
    adjust for DECR_PC_AFTER_BREAK.  This is because it is only legal
    to call this function after the PC has been adjusted.  */
 
-char *
+static char *
 generic_find_dummy_frame (CORE_ADDR pc, CORE_ADDR fp)
 {
   struct dummy_frame *dummyframe;
@@ -1159,6 +1159,12 @@
       return dummyframe->registers;
 
   return 0;
+}
+
+char *
+deprecated_generic_find_dummy_frame (CORE_ADDR pc, CORE_ADDR fp)
+{
+  return generic_find_dummy_frame (pc, fp);
 }
 
 /* Function: pc_in_call_dummy (pc, sp, fp)
Index: cris-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/cris-tdep.c,v
retrieving revision 1.17
diff -u -r1.17 cris-tdep.c
--- cris-tdep.c	18 Jun 2002 16:01:12 -0000	1.17
+++ cris-tdep.c	26 Jun 2002 15:13:42 -0000
@@ -1155,7 +1155,7 @@
   CORE_ADDR ip;
   struct symtab_and_line sal;
   int best_limit;
-  char *dummy_regs = generic_find_dummy_frame (fi->pc, fi->frame);
+  char *dummy_regs = deprecated_generic_find_dummy_frame (fi->pc, fi->frame);
   
   /* Examine the entire prologue.  */
   register int frameless_p = 0; 
Index: frame.h
===================================================================
RCS file: /cvs/src/src/gdb/frame.h,v
retrieving revision 1.20
diff -u -r1.20 frame.h
--- frame.h	18 Jun 2002 09:04:24 -0000	1.20
+++ frame.h	26 Jun 2002 15:13:42 -0000
@@ -310,7 +310,13 @@
 
 extern int generic_pc_in_call_dummy (CORE_ADDR pc,
 				     CORE_ADDR sp, CORE_ADDR fp);
-extern char *generic_find_dummy_frame (CORE_ADDR pc, CORE_ADDR fp);
+
+/* NOTE: cagney/2002-06-26: Targets should no longer use this
+   function.  Instead, the contents of a dummy frames registers can be
+   obtained by applying: frame_register_unwind to the dummy frame; or
+   get_saved_register to the next outer frame.  */
+
+extern char *deprecated_generic_find_dummy_frame (CORE_ADDR pc, CORE_ADDR fp);
 
 extern void generic_fix_call_dummy (char *dummy, CORE_ADDR pc, CORE_ADDR fun,
 				    int nargs, struct value **args,
Index: s390-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/s390-tdep.c,v
retrieving revision 1.47
diff -u -r1.47 s390-tdep.c
--- s390-tdep.c	17 Jun 2002 23:32:33 -0000	1.47
+++ s390-tdep.c	26 Jun 2002 15:13:43 -0000
@@ -955,7 +955,7 @@
   if (fi->extra_info && fi->extra_info->saved_pc_valid)
     return fi->extra_info->saved_pc;
 
-  if (generic_find_dummy_frame (fi->pc, fi->frame))
+  if (deprecated_generic_find_dummy_frame (fi->pc, fi->frame))
     return generic_read_register_dummy (fi->pc, fi->frame, S390_PC_REGNUM);
 
   s390_frame_init_saved_regs (fi);
@@ -1009,7 +1009,7 @@
 {
   CORE_ADDR prev_fp = 0;
 
-  if (generic_find_dummy_frame (thisframe->pc, thisframe->frame))
+  if (deprecated_generic_find_dummy_frame (thisframe->pc, thisframe->frame))
     return generic_read_register_dummy (thisframe->pc, thisframe->frame,
                                         S390_SP_REGNUM);
   else
Index: sh-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/sh-tdep.c,v
retrieving revision 1.64
diff -u -r1.64 sh-tdep.c
--- sh-tdep.c	20 Jun 2002 03:13:51 -0000	1.64
+++ sh-tdep.c	26 Jun 2002 15:13:45 -0000
@@ -1046,7 +1046,7 @@
   int opc;
   int insn;
   int r3_val = 0;
-  char *dummy_regs = generic_find_dummy_frame (fi->pc, fi->frame);
+  char *dummy_regs = deprecated_generic_find_dummy_frame (fi->pc, fi->frame);
   
   if (fi->saved_regs == NULL)
     frame_saved_regs_zalloc (fi);
@@ -1385,7 +1385,7 @@
   int insn_size;
   int gdb_register_number;
   int register_number;
-  char *dummy_regs = generic_find_dummy_frame (fi->pc, fi->frame);
+  char *dummy_regs = deprecated_generic_find_dummy_frame (fi->pc, fi->frame);
   struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch); 
   
   if (fi->saved_regs == NULL)
@@ -1586,7 +1586,7 @@
   int opc;
   int insn;
   int r3_val = 0;
-  char *dummy_regs = generic_find_dummy_frame (fi->pc, fi->frame);
+  char *dummy_regs = deprecated_generic_find_dummy_frame (fi->pc, fi->frame);
   struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch); 
   
   if (fi->saved_regs == NULL)
@@ -1814,8 +1814,8 @@
 	    *lval = not_lval;
 	  if (raw_buffer)
 	    memcpy (raw_buffer,
-		    generic_find_dummy_frame (frame->pc, frame->frame) +
-		    REGISTER_BYTE (regnum),
+		    (deprecated_generic_find_dummy_frame (frame->pc, frame->frame)
+		     + REGISTER_BYTE (regnum)),
 		    REGISTER_RAW_SIZE (regnum));
 	  return;
 	}

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]