gdb/csky: Use default gdbarch methods where possible
authorAndrew Burgess <andrew.burgess@embecosm.com>
Wed, 19 Dec 2018 22:18:28 +0000 (22:18 +0000)
committerAndrew Burgess <andrew.burgess@embecosm.com>
Wed, 27 Feb 2019 14:54:43 +0000 (16:54 +0200)
Make use of the default gdbarch methods for gdbarch_dummy_id,
gdbarch_unwind_pc, and gdbarch_unwind_sp where possible.

I have not tested this change but, by inspecting the code, I believe
the default methods are equivalent to the code being deleted.

gdb/ChangeLog:

* gdb/csky-tdep.c (csky_dummy_id): Delete.
(csky_unwind_pc): Delete.
(csky_unwind_sp): Delete.
(csky_gdbarch_init): Don't register deleted functions with
gdbarch.

gdb/ChangeLog
gdb/csky-tdep.c

index 4d4ad2c2c224651db3e780e6f4e9c6efaa8612d4..977a1382d7ee680cea29ddd1424a7b23445794ea 100644 (file)
@@ -1,3 +1,11 @@
+2019-02-27  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+       * gdb/csky-tdep.c (csky_dummy_id): Delete.
+       (csky_unwind_pc): Delete.
+       (csky_unwind_sp): Delete.
+       (csky_gdbarch_init): Don't register deleted functions with
+       gdbarch.
+
 2019-02-27  Andrew Burgess  <andrew.burgess@embecosm.com>
 
        * gdb/cris-tdep.c (cris_dummy_id): Delete.
index ee17961efc5f41f8339ae981e4307d915d810bda..cd7d8c5a0b116e48fa8a66f3ef181f35c3005f80 100644 (file)
@@ -160,14 +160,6 @@ csky_write_pc (regcache *regcache, CORE_ADDR val)
   regcache_cooked_write_unsigned (regcache, CSKY_PC_REGNUM, val);
 }
 
-/* Implement the unwind_sp gdbarch method.  */
-
-static CORE_ADDR
-csky_unwind_sp (struct gdbarch *gdbarch, struct frame_info *next_frame)
-{
-  return frame_unwind_register_unsigned (next_frame, CSKY_SP_REGNUM);
-}
-
 /* C-Sky ABI register names.  */
 
 static const char *csky_register_names[] =
@@ -1883,14 +1875,6 @@ csky_frame_unwind_cache (struct frame_info *this_frame)
   return cache;
 }
 
-/* Implement the unwind_pc gdbarch method.  */
-
-static CORE_ADDR
-csky_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame)
-{
-  return frame_unwind_register_unsigned (next_frame, CSKY_PC_REGNUM);
-}
-
 /* Implement the this_id function for the normal unwinder.  */
 
 static void
@@ -2045,19 +2029,6 @@ static const struct frame_base csky_frame_base = {
   csky_frame_base_address
 };
 
-/* Implement the dummy_id gdbarch method.  The frame ID's base
-   needs to match the TOS value saved by save_dummy_frame_tos,
-   and the PC should match the dummy frame's breakpoint.  */
-
-static struct frame_id
-csky_dummy_id (struct gdbarch *gdbarch, struct frame_info *this_frame)
-{
-  unsigned int sp_regnum = CSKY_SP_REGNUM;
-
-  CORE_ADDR sp = get_frame_register_unsigned (this_frame, sp_regnum);
-  return frame_id_build (sp, get_frame_pc (this_frame));
-}
-
 /* Initialize register access method.  */
 
 static void
@@ -2245,13 +2216,8 @@ csky_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
   set_gdbarch_frame_align (gdbarch, csky_frame_align);
   set_gdbarch_stack_frame_destroyed_p (gdbarch, csky_stack_frame_destroyed_p);
 
-  /* Functions to access frame data.  */
-  set_gdbarch_unwind_pc (gdbarch, csky_unwind_pc);
-  set_gdbarch_unwind_sp (gdbarch, csky_unwind_sp);
-
   /* Functions handling dummy frames.  */
   set_gdbarch_push_dummy_call (gdbarch, csky_push_dummy_call);
-  set_gdbarch_dummy_id (gdbarch, csky_dummy_id);
 
   /* Frame unwinders.  Use DWARF debug info if available,
      otherwise use our own unwinder.  */