This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
[patch] Deprecate generic_find_dummy_frame()
- From: Andrew Cagney <ac131313 at cygnus dot com>
- To: gdb-patches at sources dot redhat dot com
- Date: Wed, 26 Jun 2002 11:20:47 -0400
- Subject: [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;
}