gdb/m32c: 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: * m32c-tdep.c (m32c_unwind_pc): Delete. (m32c_unwind_sp): Delete. (m32c_dummy_id): Delete. (m32c_gdbarch_init): Don't register deleted functions with gdbarch.
This commit is contained in:
parent
946c28d2f9
commit
89b268d823
@ -1,3 +1,11 @@
|
||||
2019-04-23 Andrew Burgess <andrew.burgess@embecosm.com>
|
||||
|
||||
* m32c-tdep.c (m32c_unwind_pc): Delete.
|
||||
(m32c_unwind_sp): Delete.
|
||||
(m32c_dummy_id): Delete.
|
||||
(m32c_gdbarch_init): Don't register deleted functions with
|
||||
gdbarch.
|
||||
|
||||
2019-04-23 Andrew Burgess <andrew.burgess@embecosm.com>
|
||||
|
||||
* gdb/lm32-tdep.c (lm32_unwind_sp): Delete.
|
||||
|
@ -1951,22 +1951,6 @@ static const struct frame_unwind m32c_unwind = {
|
||||
default_frame_sniffer
|
||||
};
|
||||
|
||||
|
||||
static CORE_ADDR
|
||||
m32c_unwind_pc (struct gdbarch *arch, struct frame_info *next_frame)
|
||||
{
|
||||
struct gdbarch_tdep *tdep = gdbarch_tdep (arch);
|
||||
return frame_unwind_register_unsigned (next_frame, tdep->pc->num);
|
||||
}
|
||||
|
||||
|
||||
static CORE_ADDR
|
||||
m32c_unwind_sp (struct gdbarch *arch, struct frame_info *next_frame)
|
||||
{
|
||||
struct gdbarch_tdep *tdep = gdbarch_tdep (arch);
|
||||
return frame_unwind_register_unsigned (next_frame, tdep->sp->num);
|
||||
}
|
||||
|
||||
|
||||
/* Inferior calls. */
|
||||
|
||||
@ -2139,21 +2123,6 @@ m32c_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
|
||||
}
|
||||
|
||||
|
||||
static struct frame_id
|
||||
m32c_dummy_id (struct gdbarch *gdbarch, struct frame_info *this_frame)
|
||||
{
|
||||
/* This needs to return a frame ID whose PC is the return address
|
||||
passed to m32c_push_dummy_call, and whose stack_addr is the SP
|
||||
m32c_push_dummy_call returned.
|
||||
|
||||
m32c_unwind_sp gives us the CFA, which is the value the SP had
|
||||
before the return address was pushed. */
|
||||
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
|
||||
CORE_ADDR sp = get_frame_register_unsigned (this_frame, tdep->sp->num);
|
||||
return frame_id_build (sp, get_frame_pc (this_frame));
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Return values. */
|
||||
|
||||
@ -2643,8 +2612,6 @@ m32c_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
|
||||
/* Prologue analysis and unwinding. */
|
||||
set_gdbarch_inner_than (gdbarch, core_addr_lessthan);
|
||||
set_gdbarch_skip_prologue (gdbarch, m32c_skip_prologue);
|
||||
set_gdbarch_unwind_pc (gdbarch, m32c_unwind_pc);
|
||||
set_gdbarch_unwind_sp (gdbarch, m32c_unwind_sp);
|
||||
#if 0
|
||||
/* I'm dropping the dwarf2 sniffer because it has a few problems.
|
||||
They may be in the dwarf2 cfi code in GDB, or they may be in
|
||||
@ -2658,7 +2625,6 @@ m32c_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
|
||||
/* Inferior calls. */
|
||||
set_gdbarch_push_dummy_call (gdbarch, m32c_push_dummy_call);
|
||||
set_gdbarch_return_value (gdbarch, m32c_return_value);
|
||||
set_gdbarch_dummy_id (gdbarch, m32c_dummy_id);
|
||||
|
||||
/* Trampolines. */
|
||||
set_gdbarch_skip_trampoline_code (gdbarch, m32c_skip_trampoline_code);
|
||||
|
Loading…
x
Reference in New Issue
Block a user