[03/25] gdb/m32c: Use default gdbarch methods where possible

Message ID fa471f0da70f1ab22d8d9779c7d5b7638b6db5ec.1553721872.git.andrew.burgess@embecosm.com
State New
Headers show
Series
  • Make use of default gdbarch methods for some more targets
Related show

Commit Message

Andrew Burgess March 27, 2019, 9:33 p.m.
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.
---
 gdb/ChangeLog   |  8 ++++++++
 gdb/m32c-tdep.c | 34 ----------------------------------
 2 files changed, 8 insertions(+), 34 deletions(-)

-- 
2.14.5

Comments

Kevin Buettner March 27, 2019, 10:14 p.m. | #1
On Wed, 27 Mar 2019 21:33:59 +0000
Andrew Burgess <andrew.burgess@embecosm.com> wrote:

> 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.


Okay.

Kevin

Patch

diff --git a/gdb/m32c-tdep.c b/gdb/m32c-tdep.c
index 709d33dbd66..a28c5d8e81f 100644
--- a/gdb/m32c-tdep.c
+++ b/gdb/m32c-tdep.c
@@ -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);