gdb/mn10300: Use default gdbarch methods where possible

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:

	* mn10300-tdep.c (mn10300_dummy_id): Delete.
	(mn10300_unwind_pc): Delete.
	(mn10300_unwind_sp): Delete.
	(mn10300_push_dummy_call): Use gdbarch_unwind_sp not
	mn10300_unwind_sp.
	(mn10300_frame_unwind_init): Don't register deleted functions with
	gdbarch.
This commit is contained in:
Andrew Burgess
2019-01-10 18:46:27 +00:00
parent 8e2b5aea9d
commit aee6c3cd1f
2 changed files with 11 additions and 31 deletions

View File

@@ -1,3 +1,13 @@
2019-04-23 Andrew Burgess <andrew.burgess@embecosm.com>
* mn10300-tdep.c (mn10300_dummy_id): Delete.
(mn10300_unwind_pc): Delete.
(mn10300_unwind_sp): Delete.
(mn10300_push_dummy_call): Use gdbarch_unwind_sp not
mn10300_unwind_sp.
(mn10300_frame_unwind_init): Don't register deleted functions with
gdbarch.
2019-04-23 Andrew Burgess <andrew.burgess@embecosm.com>
* mep-tdep.c (mep_unwind_pc): Delete.

View File

@@ -1098,15 +1098,6 @@ mn10300_frame_base (struct frame_info *this_frame, void **this_prologue_cache)
}
}
/* Here is a dummy implementation. */
static struct frame_id
mn10300_dummy_id (struct gdbarch *gdbarch, struct frame_info *this_frame)
{
CORE_ADDR sp = get_frame_register_unsigned (this_frame, E_SP_REGNUM);
CORE_ADDR pc = get_frame_register_unsigned (this_frame, E_PC_REGNUM);
return frame_id_build (sp, pc);
}
static void
mn10300_frame_this_id (struct frame_info *this_frame,
void **this_prologue_cache,
@@ -1149,32 +1140,11 @@ static const struct frame_unwind mn10300_frame_unwind = {
default_frame_sniffer
};
static CORE_ADDR
mn10300_unwind_pc (struct gdbarch *gdbarch, struct frame_info *this_frame)
{
ULONGEST pc;
pc = frame_unwind_register_unsigned (this_frame, E_PC_REGNUM);
return pc;
}
static CORE_ADDR
mn10300_unwind_sp (struct gdbarch *gdbarch, struct frame_info *this_frame)
{
ULONGEST sp;
sp = frame_unwind_register_unsigned (this_frame, E_SP_REGNUM);
return sp;
}
static void
mn10300_frame_unwind_init (struct gdbarch *gdbarch)
{
dwarf2_append_unwinders (gdbarch);
frame_unwind_append_unwinder (gdbarch, &mn10300_frame_unwind);
set_gdbarch_dummy_id (gdbarch, mn10300_dummy_id);
set_gdbarch_unwind_pc (gdbarch, mn10300_unwind_pc);
set_gdbarch_unwind_sp (gdbarch, mn10300_unwind_sp);
}
/* Function: push_dummy_call
@@ -1308,7 +1278,7 @@ mn10300_push_dummy_call (struct gdbarch *gdbarch,
{
CORE_ADDR func_addr = find_function_addr (target_func, NULL);
CORE_ADDR unwound_sp
= mn10300_unwind_sp (gdbarch, create_new_frame (sp, func_addr));
= gdbarch_unwind_sp (gdbarch, create_new_frame (sp, func_addr));
if (sp != unwound_sp)
regcache_cooked_write_unsigned (regcache, E_SP_REGNUM,
sp - (unwound_sp - sp));