[PATCH 07/12] gdb/csky: Use default gdbarch methods where possible
Andrew Burgess
andrew.burgess@embecosm.com
Thu Dec 27 14:09:00 GMT 2018
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 | 8 ++++++++
gdb/csky-tdep.c | 34 ----------------------------------
2 files changed, 8 insertions(+), 34 deletions(-)
diff --git a/gdb/csky-tdep.c b/gdb/csky-tdep.c
index ed56aed97a4..0bac82f0c75 100644
--- a/gdb/csky-tdep.c
+++ b/gdb/csky-tdep.c
@@ -162,14 +162,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[] =
@@ -1885,14 +1877,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
@@ -2047,19 +2031,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
@@ -2247,13 +2218,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. */
--
2.14.5
More information about the Gdb-patches
mailing list