[MIPS] signals: Share even more code.

native and compat do_signal and handle_signal are identical and can easily
be unified.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
Ralf Baechle
2007-02-15 11:40:37 +00:00
parent 38201fb23c
commit 151fd6acd9
7 changed files with 35 additions and 164 deletions

View File

@@ -13,13 +13,13 @@
#include <asm/siginfo.h>
struct mips_abi {
void (* const do_signal)(struct pt_regs *regs);
int (* const setup_frame)(struct k_sigaction * ka,
struct pt_regs *regs, int signr,
sigset_t *set);
int (* const setup_rt_frame)(struct k_sigaction * ka,
struct pt_regs *regs, int signr,
sigset_t *set, siginfo_t *info);
const unsigned long restart;
};
#endif /* _ASM_ABI_H */

View File

@@ -5,6 +5,9 @@
#include <linux/compat.h>
#include <linux/compiler.h>
#include <asm/signal.h>
#include <asm/siginfo.h>
#include <asm/uaccess.h>
static inline int __copy_conv_sigset_to_user(compat_sigset_t __user *d,

View File

@@ -137,23 +137,6 @@ typedef struct sigaltstack {
#define ptrace_signal_deliver(regs, cookie) do { } while (0)
struct pt_regs;
extern void do_signal(struct pt_regs *regs);
extern void do_signal32(struct pt_regs *regs);
extern int setup_frame(struct k_sigaction * ka, struct pt_regs *regs,
int signr, sigset_t *set);
extern int setup_rt_frame(struct k_sigaction * ka, struct pt_regs *regs,
int signr, sigset_t *set, siginfo_t *info);
extern int setup_frame_32(struct k_sigaction * ka, struct pt_regs *regs,
int signr, sigset_t *set);
extern int setup_rt_frame_32(struct k_sigaction * ka, struct pt_regs *regs,
int signr, sigset_t *set, siginfo_t *info);
extern int setup_rt_frame_n32(struct k_sigaction * ka, struct pt_regs *regs,
int signr, sigset_t *set, siginfo_t *info);
#endif /* __KERNEL__ */
#endif /* _ASM_SIGNAL_H */