diff options
author | Franck Bui-Huu <fbuihuu@gmail.com> | 2007-02-05 09:24:27 -0500 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2007-02-10 17:38:48 -0500 |
commit | f90080a059fc19444b3a63affd1f4ecece62c11c (patch) | |
tree | 446635241c5685bc525c89532967b7adf4c59589 /arch/mips/kernel/signal32.c | |
parent | 6bfe96616062acb75c2460f01acc79236a8ba0e8 (diff) |
[MIPS] signal: do not use save_static_function() anymore
This macro was used to save static registers before calling
sys_sigsuspend() and sys_sigreturn().
For the sys_sigreturn() case, there's no point to save them
since they have been already saved by setup_sigcontext()
before calling the signal handler.
For the sys_sigsuspend() case, I don't see any reasons...
Signed-off-by: Franck Bui-Huu <fbuihuu@gmail.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/kernel/signal32.c')
-rw-r--r-- | arch/mips/kernel/signal32.c | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/arch/mips/kernel/signal32.c b/arch/mips/kernel/signal32.c index 0994d6e1d691..183fc7e55f34 100644 --- a/arch/mips/kernel/signal32.c +++ b/arch/mips/kernel/signal32.c | |||
@@ -308,9 +308,7 @@ static inline int get_sigset(sigset_t *kbuf, const compat_sigset_t __user *ubuf) | |||
308 | * Atomically swap in the new signal mask, and wait for a signal. | 308 | * Atomically swap in the new signal mask, and wait for a signal. |
309 | */ | 309 | */ |
310 | 310 | ||
311 | save_static_function(sys32_sigsuspend); | 311 | asmlinkage int sys32_sigsuspend(nabi_no_regargs struct pt_regs regs) |
312 | __attribute_used__ noinline static int | ||
313 | _sys32_sigsuspend(nabi_no_regargs struct pt_regs regs) | ||
314 | { | 312 | { |
315 | compat_sigset_t __user *uset; | 313 | compat_sigset_t __user *uset; |
316 | sigset_t newset; | 314 | sigset_t newset; |
@@ -332,9 +330,7 @@ _sys32_sigsuspend(nabi_no_regargs struct pt_regs regs) | |||
332 | return -ERESTARTNOHAND; | 330 | return -ERESTARTNOHAND; |
333 | } | 331 | } |
334 | 332 | ||
335 | save_static_function(sys32_rt_sigsuspend); | 333 | asmlinkage int sys32_rt_sigsuspend(nabi_no_regargs struct pt_regs regs) |
336 | __attribute_used__ noinline static int | ||
337 | _sys32_rt_sigsuspend(nabi_no_regargs struct pt_regs regs) | ||
338 | { | 334 | { |
339 | compat_sigset_t __user *uset; | 335 | compat_sigset_t __user *uset; |
340 | sigset_t newset; | 336 | sigset_t newset; |
@@ -495,9 +491,7 @@ int copy_siginfo_to_user32(compat_siginfo_t __user *to, siginfo_t *from) | |||
495 | return err; | 491 | return err; |
496 | } | 492 | } |
497 | 493 | ||
498 | save_static_function(sys32_sigreturn); | 494 | asmlinkage void sys32_sigreturn(nabi_no_regargs struct pt_regs regs) |
499 | __attribute_used__ noinline static void | ||
500 | _sys32_sigreturn(nabi_no_regargs struct pt_regs regs) | ||
501 | { | 495 | { |
502 | struct sigframe __user *frame; | 496 | struct sigframe __user *frame; |
503 | sigset_t blocked; | 497 | sigset_t blocked; |
@@ -531,9 +525,7 @@ badframe: | |||
531 | force_sig(SIGSEGV, current); | 525 | force_sig(SIGSEGV, current); |
532 | } | 526 | } |
533 | 527 | ||
534 | save_static_function(sys32_rt_sigreturn); | 528 | asmlinkage void sys32_rt_sigreturn(nabi_no_regargs struct pt_regs regs) |
535 | __attribute_used__ noinline static void | ||
536 | _sys32_rt_sigreturn(nabi_no_regargs struct pt_regs regs) | ||
537 | { | 529 | { |
538 | struct rt_sigframe32 __user *frame; | 530 | struct rt_sigframe32 __user *frame; |
539 | mm_segment_t old_fs; | 531 | mm_segment_t old_fs; |