aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorFranck Bui-Huu <fbuihuu@gmail.com>2007-02-05 09:24:27 -0500
committerRalf Baechle <ralf@linux-mips.org>2007-02-10 17:38:48 -0500
commitf90080a059fc19444b3a63affd1f4ecece62c11c (patch)
tree446635241c5685bc525c89532967b7adf4c59589 /arch
parent6bfe96616062acb75c2460f01acc79236a8ba0e8 (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')
-rw-r--r--arch/mips/kernel/signal.c16
-rw-r--r--arch/mips/kernel/signal32.c16
-rw-r--r--arch/mips/kernel/signal_n32.c8
3 files changed, 10 insertions, 30 deletions
diff --git a/arch/mips/kernel/signal.c b/arch/mips/kernel/signal.c
index a5adab1c94c3..b3f8f0df1b68 100644
--- a/arch/mips/kernel/signal.c
+++ b/arch/mips/kernel/signal.c
@@ -201,9 +201,7 @@ int install_sigtramp(unsigned int __user *tramp, unsigned int syscall)
201 */ 201 */
202 202
203#ifdef CONFIG_TRAD_SIGNALS 203#ifdef CONFIG_TRAD_SIGNALS
204save_static_function(sys_sigsuspend); 204asmlinkage int sys_sigsuspend(nabi_no_regargs struct pt_regs regs)
205__attribute_used__ noinline static int
206_sys_sigsuspend(nabi_no_regargs struct pt_regs regs)
207{ 205{
208 sigset_t newset; 206 sigset_t newset;
209 sigset_t __user *uset; 207 sigset_t __user *uset;
@@ -226,9 +224,7 @@ _sys_sigsuspend(nabi_no_regargs struct pt_regs regs)
226} 224}
227#endif 225#endif
228 226
229save_static_function(sys_rt_sigsuspend); 227asmlinkage int sys_rt_sigsuspend(nabi_no_regargs struct pt_regs regs)
230__attribute_used__ noinline static int
231_sys_rt_sigsuspend(nabi_no_regargs struct pt_regs regs)
232{ 228{
233 sigset_t newset; 229 sigset_t newset;
234 sigset_t __user *unewset; 230 sigset_t __user *unewset;
@@ -307,9 +303,7 @@ asmlinkage int sys_sigaltstack(nabi_no_regargs struct pt_regs regs)
307} 303}
308 304
309#ifdef CONFIG_TRAD_SIGNALS 305#ifdef CONFIG_TRAD_SIGNALS
310save_static_function(sys_sigreturn); 306asmlinkage void sys_sigreturn(nabi_no_regargs struct pt_regs regs)
311__attribute_used__ noinline static void
312_sys_sigreturn(nabi_no_regargs struct pt_regs regs)
313{ 307{
314 struct sigframe __user *frame; 308 struct sigframe __user *frame;
315 sigset_t blocked; 309 sigset_t blocked;
@@ -344,9 +338,7 @@ badframe:
344} 338}
345#endif /* CONFIG_TRAD_SIGNALS */ 339#endif /* CONFIG_TRAD_SIGNALS */
346 340
347save_static_function(sys_rt_sigreturn); 341asmlinkage void sys_rt_sigreturn(nabi_no_regargs struct pt_regs regs)
348__attribute_used__ noinline static void
349_sys_rt_sigreturn(nabi_no_regargs struct pt_regs regs)
350{ 342{
351 struct rt_sigframe __user *frame; 343 struct rt_sigframe __user *frame;
352 sigset_t set; 344 sigset_t set;
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
311save_static_function(sys32_sigsuspend); 311asmlinkage 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
335save_static_function(sys32_rt_sigsuspend); 333asmlinkage 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
498save_static_function(sys32_sigreturn); 494asmlinkage 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
534save_static_function(sys32_rt_sigreturn); 528asmlinkage 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;
diff --git a/arch/mips/kernel/signal_n32.c b/arch/mips/kernel/signal_n32.c
index 1d4f39cd0386..57456e6a0c62 100644
--- a/arch/mips/kernel/signal_n32.c
+++ b/arch/mips/kernel/signal_n32.c
@@ -87,9 +87,7 @@ struct rt_sigframe_n32 {
87 87
88extern void sigset_from_compat (sigset_t *set, compat_sigset_t *compat); 88extern void sigset_from_compat (sigset_t *set, compat_sigset_t *compat);
89 89
90save_static_function(sysn32_rt_sigsuspend); 90asmlinkage int sysn32_rt_sigsuspend(nabi_no_regargs struct pt_regs regs)
91__attribute_used__ noinline static int
92_sysn32_rt_sigsuspend(nabi_no_regargs struct pt_regs regs)
93{ 91{
94 compat_sigset_t __user *unewset; 92 compat_sigset_t __user *unewset;
95 compat_sigset_t uset; 93 compat_sigset_t uset;
@@ -119,9 +117,7 @@ _sysn32_rt_sigsuspend(nabi_no_regargs struct pt_regs regs)
119 return -ERESTARTNOHAND; 117 return -ERESTARTNOHAND;
120} 118}
121 119
122save_static_function(sysn32_rt_sigreturn); 120asmlinkage void sysn32_rt_sigreturn(nabi_no_regargs struct pt_regs regs)
123__attribute_used__ noinline static void
124_sysn32_rt_sigreturn(nabi_no_regargs struct pt_regs regs)
125{ 121{
126 struct rt_sigframe_n32 __user *frame; 122 struct rt_sigframe_n32 __user *frame;
127 sigset_t set; 123 sigset_t set;