This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[PATCH 07/12] gdb/csky: Use default gdbarch methods where possible
- From: Andrew Burgess <andrew dot burgess at embecosm dot com>
- To: gdb-patches at sourceware dot org, abidh at codesourcery dot com
- Cc: alan dot hayward at arm dot com, Anton dot Kolesov at synopsys dot com, hp at axis dot com, jamesb at excamera dot com, vapier at gentoo dot org, Andrew Burgess <andrew dot burgess at embecosm dot com>
- Date: Thu, 27 Dec 2018 14:08:31 +0000
- Subject: [PATCH 07/12] gdb/csky: Use default gdbarch methods where possible
- References: <cover.1545918068.git.andrew.burgess@embecosm.com>
- References: <cover.1545918068.git.andrew.burgess@embecosm.com>
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