diff --git a/gdb/nios2-linux-tdep.c b/gdb/nios2-linux-tdep.c index fe29e7a..2051d45 100644 --- a/gdb/nios2-linux-tdep.c +++ b/gdb/nios2-linux-tdep.c @@ -97,33 +97,6 @@ nios2_regset_from_core_section (struct gdbarch *gdbarch, FUNC is the address of the instruction TRAMP[0] in memory. */ static void -nios2_linux_sigreturn_init (const struct tramp_frame *self, - struct frame_info *next_frame, - struct trad_frame_cache *this_cache, - CORE_ADDR func) -{ - CORE_ADDR base = func + 16; - int i; - - for (i = 0; i < 8; i++) - trad_frame_set_reg_addr (this_cache, i + 8, base + i * 4); - for (i = 0; i < 7; i++) - trad_frame_set_reg_addr (this_cache, i + 1, base + (i + 8) * 4); - trad_frame_set_reg_addr (this_cache, NIOS2_RA_REGNUM, base + 16 * 4); - trad_frame_set_reg_addr (this_cache, NIOS2_FP_REGNUM, base + 17 * 4); - trad_frame_set_reg_addr (this_cache, NIOS2_SP_REGNUM, base + 18 * 4); - trad_frame_set_reg_addr (this_cache, NIOS2_GP_REGNUM, base + 19 * 4); - trad_frame_set_reg_addr (this_cache, NIOS2_ESTATUS_REGNUM, base + 20 * 4); - trad_frame_set_reg_addr (this_cache, NIOS2_PC_REGNUM, base + 21 * 4); - - /* Save a frame ID. */ - trad_frame_set_id (this_cache, frame_id_build (base, func)); -} - -/* Initialize a trad-frame cache corresponding to the tramp-frame. - FUNC is the address of the instruction TRAMP[0] in memory. */ - -static void nios2_linux_rt_sigreturn_init (const struct tramp_frame *self, struct frame_info *next_frame, struct trad_frame_cache *this_cache, @@ -144,24 +117,12 @@ nios2_linux_rt_sigreturn_init (const struct tramp_frame *self, trad_frame_set_id (this_cache, frame_id_build (base, func)); } -static struct tramp_frame nios2_linux_sigreturn_tramp_frame = -{ - SIGTRAMP_FRAME, - 4, - { - { 0x00800004 | (119 << 6), -1 }, /* movi r2,__NR_sigreturn */ - { 0x003b683a, -1 }, /* trap */ - { TRAMP_SENTINEL_INSN } - }, - nios2_linux_sigreturn_init -}; - static struct tramp_frame nios2_linux_rt_sigreturn_tramp_frame = { SIGTRAMP_FRAME, 4, { - { 0x00800004 | (173 << 6), -1 }, /* movi r2,__NR_rt_sigreturn */ + { 0x00800004 | (139 << 6), -1 }, /* movi r2,__NR_rt_sigreturn */ { 0x003b683a, -1 }, /* trap */ { TRAMP_SENTINEL_INSN } }, @@ -179,8 +140,7 @@ nios2_linux_syscall_next_pc (struct frame_info *frame) /* If we are about to make a sigreturn syscall, use the unwinder to decode the signal frame. */ - if (syscall_nr == 119 /* sigreturn */ - || syscall_nr == 173 /* rt_sigreturn */) + if (syscall_nr == 139 /* rt_sigreturn */) return frame_unwind_caller_pc (frame); return pc + NIOS2_OPCODE_SIZE; @@ -209,8 +169,6 @@ nios2_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch) nios2_regset_from_core_section); /* Linux signal frame unwinders. */ tramp_frame_prepend_unwinder (gdbarch, - &nios2_linux_sigreturn_tramp_frame); - tramp_frame_prepend_unwinder (gdbarch, &nios2_linux_rt_sigreturn_tramp_frame); tdep->syscall_next_pc = nios2_linux_syscall_next_pc;