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]

[commit] zap some redundant frame.[hc] interfaces


Hello,

This eliminates some of the redundancy found in the frame.[hc] interface.

committed,
Andrew
2003-09-28  Andrew Cagney  <cagney@redhat.com>

	* frame.c (frame_read_unsigned_register): Delete function.
	* frame.h (frame_read_unsigned_register): Delete declaration.
	* sparc-tdep.c (sparc_init_extra_frame_info): Use
	get_frame_register_unsigned.
	(sparc_frame_saved_pc, sparc_pop_frame): Ditto.
	* m68hc11-tdep.c (m68hc11_print_register): Ditto.
	* d10v-tdep.c (d10v_print_registers_info): Ditto.
	
	* frame.h (frame_read_register): Delete declaration.
	* frame.c (frame_read_register): Delete function.
	* arch-utils.c (legacy_register_to_value): Use get_frame_register.
	* sparc-tdep.c (sparc_fetch_pointer_argument): Ditto.
	* rs6000-tdep.c (rs6000_fetch_pointer_argument): Ditto.
	* mips-tdep.c (mips_register_to_value): Ditto.
	* hppa-tdep.c (hppa_fetch_pointer_argument): Ditto.
	* d10v-tdep.c (d10v_print_registers_info): Ditto.

	* frame.c (frame_read_signed_register): Delete function.
	(frame_read_unsigned_register): Update comments.
	* frame.h (frame_read_signed_register): Delete declaration.
	* h8300-tdep.c (h8300_print_register): Use
	get_frame_register_signed.
	* m68hc11-tdep.c (m68hc11_print_register): Ditto.

Index: arch-utils.c
===================================================================
RCS file: /cvs/src/src/gdb/arch-utils.c,v
retrieving revision 1.95
diff -u -r1.95 arch-utils.c
--- arch-utils.c	27 Sep 2003 15:51:02 -0000	1.95
+++ arch-utils.c	28 Sep 2003 22:25:06 -0000
@@ -338,7 +338,7 @@
 			  struct type *type, void *to)
 {
   char from[MAX_REGISTER_SIZE];
-  frame_read_register (frame, regnum, from);
+  get_frame_register (frame, regnum, from);
   DEPRECATED_REGISTER_CONVERT_TO_VIRTUAL (regnum, type, from, to);
 }
 
Index: d10v-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/d10v-tdep.c,v
retrieving revision 1.131
diff -u -r1.131 d10v-tdep.c
--- d10v-tdep.c	17 Sep 2003 14:24:29 -0000	1.131
+++ d10v-tdep.c	28 Sep 2003 22:25:09 -0000
@@ -795,11 +795,11 @@
 
   {
     ULONGEST pc, psw, rpt_s, rpt_e, rpt_c;
-    frame_read_unsigned_register (frame, D10V_PC_REGNUM, &pc);
-    frame_read_unsigned_register (frame, PSW_REGNUM, &psw);
-    frame_read_unsigned_register (frame, frame_map_name_to_regnum (frame, "rpt_s", -1), &rpt_s);
-    frame_read_unsigned_register (frame, frame_map_name_to_regnum (frame, "rpt_e", -1), &rpt_e);
-    frame_read_unsigned_register (frame, frame_map_name_to_regnum (frame, "rpt_c", -1), &rpt_c);
+    pc = get_frame_register_unsigned (frame, D10V_PC_REGNUM);
+    psw = get_frame_register_unsigned (frame, PSW_REGNUM);
+    rpt_s = get_frame_register_unsigned (frame, frame_map_name_to_regnum (frame, "rpt_s", -1));
+    rpt_e = get_frame_register_unsigned (frame, frame_map_name_to_regnum (frame, "rpt_e", -1));
+    rpt_c = get_frame_register_unsigned (frame, frame_map_name_to_regnum (frame, "rpt_c", -1));
     fprintf_filtered (file, "PC=%04lx (0x%lx) PSW=%04lx RPT_S=%04lx RPT_E=%04lx RPT_C=%04lx\n",
 		     (long) pc, (long) d10v_make_iaddr (pc), (long) psw,
 		     (long) rpt_s, (long) rpt_e, (long) rpt_c);
@@ -814,7 +814,7 @@
 	for (r = group; r < group + 8; r++)
 	  {
 	    ULONGEST tmp;
-	    frame_read_unsigned_register (frame, r, &tmp);
+	    tmp = get_frame_register_unsigned (frame, r);
 	    fprintf_filtered (file, " %04lx", (long) tmp);
 	  }
 	fprintf_filtered (file, "\n");
@@ -856,7 +856,7 @@
       {
 	int i;
 	fprintf_filtered (file, "  ");
-	frame_read_register (frame, a, num);
+	get_frame_register (frame, a, num);
 	for (i = 0; i < register_size (gdbarch, a); i++)
 	  {
 	    fprintf_filtered (file, "%02x", (num[i] & 0xff));
Index: frame.c
===================================================================
RCS file: /cvs/src/src/gdb/frame.c,v
retrieving revision 1.142
diff -u -r1.142 frame.c
--- frame.c	25 Sep 2003 20:44:01 -0000	1.142
+++ frame.c	28 Sep 2003 22:25:15 -0000
@@ -671,47 +671,6 @@
 }
 
 void
-frame_read_register (struct frame_info *frame, int regnum, void *buf)
-{
-  gdb_assert (frame != NULL && frame->next != NULL);
-  frame_unwind_register (frame->next, regnum, buf);
-}
-
-void
-frame_read_unsigned_register (struct frame_info *frame, int regnum,
-			      ULONGEST *val)
-{
-  /* NOTE: cagney/2002-10-31: There is a bit of dogma here - there is
-     always a frame.  Both this, and the equivalent
-     frame_read_signed_register() function, can only be called with a
-     valid frame.  If, for some reason, this function is called
-     without a frame then the problem isn't here, but rather in the
-     caller.  It should of first created a frame and then passed that
-     in.  */
-  /* NOTE: cagney/2002-10-31: As a side bar, keep in mind that the
-     ``current_frame'' should not be treated as a special case.  While
-     ``get_next_frame (current_frame) == NULL'' currently holds, it
-     should, as far as possible, not be relied upon.  In the future,
-     ``get_next_frame (current_frame)'' may instead simply return a
-     normal frame object that simply always gets register values from
-     the register cache.  Consequently, frame code should try to avoid
-     tests like ``if get_next_frame() == NULL'' and instead just rely
-     on recursive frame calls (like the below code) when manipulating
-     a frame chain.  */
-  gdb_assert (frame != NULL && frame->next != NULL);
-  frame_unwind_unsigned_register (frame->next, regnum, val);
-}
-
-void
-frame_read_signed_register (struct frame_info *frame, int regnum,
-			    LONGEST *val)
-{
-  /* See note above in frame_read_unsigned_register().  */
-  gdb_assert (frame != NULL && frame->next != NULL);
-  frame_unwind_signed_register (frame->next, regnum, val);
-}
-
-void
 put_frame_register (struct frame_info *frame, int regnum, const void *buf)
 {
   struct gdbarch *gdbarch = get_frame_arch (frame);
Index: frame.h
===================================================================
RCS file: /cvs/src/src/gdb/frame.h,v
retrieving revision 1.108
diff -u -r1.108 frame.h
--- frame.h	25 Sep 2003 20:44:01 -0000	1.108
+++ frame.h	28 Sep 2003 22:25:17 -0000
@@ -398,22 +398,6 @@
 			    CORE_ADDR *addrp, int *realnump,
 			    void *valuep);
 
-/* More convenient interface to frame_register().  */
-/* NOTE: cagney/2002-09-13: Return void as one day these functions may
-   be changed to return an indication that the read succeeded.  */
-
-/* Use get_frame_register.  */
-extern void frame_read_register (struct frame_info *frame, int regnum,
-				 void *buf);
-
-/* Use get_frame_register_signed.  */
-extern void frame_read_signed_register (struct frame_info *frame,
-					int regnum, LONGEST *val);
-
-/* Use get_frame_register_unsigned.  */
-extern void frame_read_unsigned_register (struct frame_info *frame,
-					  int regnum, ULONGEST *val);
-
 /* The reverse.  Store a register value relative to the specified
    frame.  Note: this call makes the frame's state undefined.  The
    register and frame caches must be flushed.  */
@@ -591,11 +575,11 @@
 extern void generic_save_call_dummy_addr (CORE_ADDR lo, CORE_ADDR hi);
 
 /* FIXME: cagney/2003-02-02: Should be deprecated or replaced with a
-   function called frame_read_register_p().  This slightly weird (and
-   older) variant of frame_read_register() returns zero (indicating
-   the register is unavailable) if either: the register isn't cached;
-   or the register has been optimized out.  Problem is, neither check
-   is exactly correct.  A register can't be optimized out (it may not
+   function called get_frame_register_p().  This slightly weird (and
+   older) variant of get_frame_register() returns zero (indicating the
+   register is unavailable) if either: the register isn't cached; or
+   the register has been optimized out.  Problem is, neither check is
+   exactly correct.  A register can't be optimized out (it may not
    have been saved as part of a function call); The fact that a
    register isn't in the register cache doesn't mean that the register
    isn't available (it could have been fetched from memory).  */
Index: h8300-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/h8300-tdep.c,v
retrieving revision 1.83
diff -u -r1.83 h8300-tdep.c
--- h8300-tdep.c	27 Sep 2003 15:51:02 -0000	1.83
+++ h8300-tdep.c	28 Sep 2003 22:25:21 -0000
@@ -944,7 +944,7 @@
   if (!name || !*name)
     return;
 
-  frame_read_signed_register (frame, regno, &rval);
+  rval = get_frame_register_signed (frame, regno);
 
   fprintf_filtered (file, "%-14s ", name);
   if (regno == E_PSEUDO_CCR_REGNUM || (regno == E_PSEUDO_EXR_REGNUM && h8300smode))
Index: hppa-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/hppa-tdep.c,v
retrieving revision 1.99
diff -u -r1.99 hppa-tdep.c
--- hppa-tdep.c	25 Sep 2003 20:44:01 -0000	1.99
+++ hppa-tdep.c	28 Sep 2003 22:25:31 -0000
@@ -5075,7 +5075,7 @@
 			     struct type *type)
 {
   CORE_ADDR addr;
-  frame_read_register (frame, R0_REGNUM + 26 - argi, &addr);
+  get_frame_register (frame, R0_REGNUM + 26 - argi, &addr);
   return addr;
 }
 
Index: m68hc11-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/m68hc11-tdep.c,v
retrieving revision 1.90
diff -u -r1.90 m68hc11-tdep.c
--- m68hc11-tdep.c	12 Sep 2003 18:40:17 -0000	1.90
+++ m68hc11-tdep.c	28 Sep 2003 22:25:32 -0000
@@ -1032,9 +1032,9 @@
 
   if (regno == HARD_PC_REGNUM || regno == HARD_SP_REGNUM
       || regno == SOFT_FP_REGNUM || regno == M68HC12_HARD_PC_REGNUM)
-    frame_read_unsigned_register (frame, regno, &rval);
+    rval = get_frame_register_unsigned (frame, regno);
   else
-    frame_read_signed_register (frame, regno, &rval);
+    rval = get_frame_register_signed (frame, regno);
 
   if (regno == HARD_A_REGNUM || regno == HARD_B_REGNUM
       || regno == HARD_CCR_REGNUM || regno == HARD_PAGE_REGNUM)
@@ -1049,7 +1049,7 @@
         {
           ULONGEST page;
 
-          frame_read_unsigned_register (frame, HARD_PAGE_REGNUM, &page);
+          page = get_frame_register_unsigned (frame, HARD_PAGE_REGNUM);
           fprintf_filtered (file, "0x%02x:%04x ", (unsigned) page,
                             (unsigned) rval);
         }
Index: mips-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/mips-tdep.c,v
retrieving revision 1.237
diff -u -r1.237 mips-tdep.c
--- mips-tdep.c	25 Sep 2003 20:44:01 -0000	1.237
+++ mips-tdep.c	28 Sep 2003 22:25:35 -0000
@@ -763,8 +763,8 @@
 mips_register_to_value (struct frame_info *frame, int regnum,
 			struct type *type, void *to)
 {
-  frame_read_register (frame, regnum + 0, (char *) to + 4);
-  frame_read_register (frame, regnum + 1, (char *) to + 0);
+  get_frame_register (frame, regnum + 0, (char *) to + 4);
+  get_frame_register (frame, regnum + 1, (char *) to + 0);
 }
 
 static void
Index: rs6000-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/rs6000-tdep.c,v
retrieving revision 1.162
diff -u -r1.162 rs6000-tdep.c
--- rs6000-tdep.c	25 Sep 2003 20:44:01 -0000	1.162
+++ rs6000-tdep.c	28 Sep 2003 22:25:37 -0000
@@ -237,7 +237,7 @@
 			       struct type *type)
 {
   CORE_ADDR addr;
-  frame_read_register (frame, 3 + argi, &addr);
+  get_frame_register (frame, 3 + argi, &addr);
   return addr;
 }
 
Index: sparc-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/sparc-tdep.c,v
retrieving revision 1.128
diff -u -r1.128 sparc-tdep.c
--- sparc-tdep.c	18 Sep 2003 22:39:21 -0000	1.128
+++ sparc-tdep.c	28 Sep 2003 22:25:39 -0000
@@ -299,7 +299,7 @@
 	{
 	  /* Should we adjust for stack bias here? */
 	  ULONGEST tmp;
-	  frame_read_unsigned_register (fi, DEPRECATED_FP_REGNUM, &tmp);
+	  tmp = get_frame_register_unsigned (fi, DEPRECATED_FP_REGNUM);
 	  deprecated_update_frame_base_hack (fi, tmp);
 	  if (GDB_TARGET_IS_SPARC64 && (get_frame_base (fi) & 1))
 	    deprecated_update_frame_base_hack (fi, get_frame_base (fi) + 2047);
@@ -339,7 +339,7 @@
 	      /* Overwrite the frame's address with the value in %i7.  */
 	      {
 		ULONGEST tmp;
-		frame_read_unsigned_register (fi, I7_REGNUM, &tmp);
+		tmp = get_frame_register_unsigned (fi, I7_REGNUM);
 		deprecated_update_frame_base_hack (fi, tmp);
 	      }
 
@@ -455,7 +455,7 @@
       /* The sigcontext address is contained in register O2.  */
       {
 	ULONGEST tmp;
-	frame_read_unsigned_register (frame, O0_REGNUM + 2, &tmp);
+	tmp = get_frame_register_unsigned (frame, O0_REGNUM + 2);
 	sigcontext_addr = tmp;
       }
 
@@ -474,7 +474,7 @@
       /* A frameless function interrupted by a signal did not save
          the PC, it is still in %o7.  */
       ULONGEST tmp;
-      frame_read_unsigned_register (frame, O7_REGNUM, &tmp);
+      tmp = get_frame_register_unsigned (frame, O7_REGNUM);
       return PC_ADJUST (tmp);
     }
   if (get_frame_extra_info (frame)->flat)
@@ -1337,7 +1337,7 @@
 	     it is a complicated way of saying
 	     "pc = read_register (O7_REGNUM);".  */
 	  ULONGEST tmp;
-	  frame_read_unsigned_register (frame, O7_REGNUM, &tmp);
+	  tmp = get_frame_register_unsigned (frame, O7_REGNUM);
 	  pc = PC_ADJUST (tmp);
 	}
 
@@ -3169,7 +3169,7 @@
 			      struct type *type)
 {
   CORE_ADDR addr;
-  frame_read_register (frame, O0_REGNUM + argi, &addr);
+  get_frame_register (frame, O0_REGNUM + argi, &addr);
   return addr;
 }
 
Index: tui/tuiRegs.c
===================================================================
RCS file: /cvs/src/src/gdb/tui/tuiRegs.c,v
retrieving revision 1.18
diff -u -r1.18 tuiRegs.c
--- tui/tuiRegs.c	22 Jun 2003 15:21:38 -0000	1.18
+++ tui/tuiRegs.c	28 Sep 2003 22:25:51 -0000
@@ -790,7 +790,7 @@
 
   if (target_has_registers)
     {
-      frame_read_register (frame, regNum, regValue);
+      get_frame_register (frame, regNum, regValue);
       /* NOTE: cagney/2003-03-13: This is bogus.  It is refering to
          the register cache and not the frame which could have pulled
          the register value off the stack.  */

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