/* Target-dependent code for the Matsushita MN10300 for GDB, the GNU debugger.
- Copyright (C) 1996-2019 Free Software Foundation, Inc.
+ Copyright (C) 1996-2020 Free Software Foundation, Inc.
This file is part of GDB.
case TYPE_CODE_ARRAY:
/* HACK! Structures containing arrays, even small ones, are not
- elligible for returning in registers. */
+ eligible for returning in registers. */
return 256;
case TYPE_CODE_TYPEDEF:
}
}
-/* 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,
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
{
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));