aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/alpha/include/asm/signal.h6
-rw-r--r--arch/arm/include/asm/signal.h7
-rw-r--r--arch/avr32/include/asm/signal.h7
-rw-r--r--arch/cris/include/asm/signal.h7
-rw-r--r--arch/h8300/include/asm/signal.h7
-rw-r--r--arch/ia64/include/asm/signal.h6
-rw-r--r--arch/ia64/include/asm/unistd.h1
-rw-r--r--arch/m32r/include/asm/signal.h8
-rw-r--r--arch/m68k/include/asm/signal.h7
-rw-r--r--arch/mips/include/asm/signal.h2
-rw-r--r--arch/mips/include/uapi/asm/signal.h2
-rw-r--r--arch/mn10300/include/asm/signal.h7
-rw-r--r--arch/parisc/include/asm/signal.h2
-rw-r--r--arch/powerpc/include/asm/signal.h1
-rw-r--r--arch/powerpc/include/asm/syscalls.h1
-rw-r--r--arch/powerpc/include/uapi/asm/signal.h2
-rw-r--r--arch/s390/include/asm/signal.h8
-rw-r--r--arch/sparc/include/asm/signal.h1
-rw-r--r--arch/sparc/include/uapi/asm/signal.h2
-rw-r--r--arch/sparc/kernel/systbls.h2
-rw-r--r--arch/x86/include/asm/signal.h10
-rw-r--r--arch/x86/include/uapi/asm/signal.h4
-rw-r--r--arch/xtensa/include/asm/signal.h7
-rw-r--r--include/linux/signal.h14
-rw-r--r--include/linux/syscalls.h2
-rw-r--r--include/uapi/asm-generic/signal.h6
26 files changed, 48 insertions, 81 deletions
diff --git a/arch/alpha/include/asm/signal.h b/arch/alpha/include/asm/signal.h
index 8c06bd1dfffc..963f0494dca7 100644
--- a/arch/alpha/include/asm/signal.h
+++ b/arch/alpha/include/asm/signal.h
@@ -22,12 +22,6 @@ struct osf_sigaction {
22 int sa_flags; 22 int sa_flags;
23}; 23};
24 24
25struct sigaction {
26 __sighandler_t sa_handler;
27 unsigned long sa_flags;
28 sigset_t sa_mask; /* mask last for extensibility */
29};
30
31#define __ARCH_HAS_KA_RESTORER 25#define __ARCH_HAS_KA_RESTORER
32#include <asm/sigcontext.h> 26#include <asm/sigcontext.h>
33#endif 27#endif
diff --git a/arch/arm/include/asm/signal.h b/arch/arm/include/asm/signal.h
index 58057023ff60..a5076b9bd463 100644
--- a/arch/arm/include/asm/signal.h
+++ b/arch/arm/include/asm/signal.h
@@ -23,12 +23,7 @@ struct old_sigaction {
23 __sigrestore_t sa_restorer; 23 __sigrestore_t sa_restorer;
24}; 24};
25 25
26struct sigaction { 26#define __ARCH_HAS_SA_RESTORER
27 __sighandler_t sa_handler;
28 unsigned long sa_flags;
29 __sigrestore_t sa_restorer;
30 sigset_t sa_mask; /* mask last for extensibility */
31};
32 27
33#include <asm/sigcontext.h> 28#include <asm/sigcontext.h>
34#endif 29#endif
diff --git a/arch/avr32/include/asm/signal.h b/arch/avr32/include/asm/signal.h
index c8858f0cef3d..d875eb6a3f3c 100644
--- a/arch/avr32/include/asm/signal.h
+++ b/arch/avr32/include/asm/signal.h
@@ -23,12 +23,7 @@ typedef struct {
23 unsigned long sig[_NSIG_WORDS]; 23 unsigned long sig[_NSIG_WORDS];
24} sigset_t; 24} sigset_t;
25 25
26struct sigaction { 26#define __ARCH_HAS_SA_RESTORER
27 __sighandler_t sa_handler;
28 unsigned long sa_flags;
29 __sigrestore_t sa_restorer;
30 sigset_t sa_mask; /* mask last for extensibility */
31};
32 27
33#include <asm/sigcontext.h> 28#include <asm/sigcontext.h>
34#undef __HAVE_ARCH_SIG_BITOPS 29#undef __HAVE_ARCH_SIG_BITOPS
diff --git a/arch/cris/include/asm/signal.h b/arch/cris/include/asm/signal.h
index b0cd904ecd8a..b3650ab2c320 100644
--- a/arch/cris/include/asm/signal.h
+++ b/arch/cris/include/asm/signal.h
@@ -23,12 +23,7 @@ struct old_sigaction {
23 void (*sa_restorer)(void); 23 void (*sa_restorer)(void);
24}; 24};
25 25
26struct sigaction { 26#define __ARCH_HAS_SA_RESTORER
27 __sighandler_t sa_handler;
28 unsigned long sa_flags;
29 void (*sa_restorer)(void);
30 sigset_t sa_mask; /* mask last for extensibility */
31};
32 27
33#include <asm/sigcontext.h> 28#include <asm/sigcontext.h>
34 29
diff --git a/arch/h8300/include/asm/signal.h b/arch/h8300/include/asm/signal.h
index c05f937bb492..9b18a0959461 100644
--- a/arch/h8300/include/asm/signal.h
+++ b/arch/h8300/include/asm/signal.h
@@ -23,12 +23,7 @@ struct old_sigaction {
23 void (*sa_restorer)(void); 23 void (*sa_restorer)(void);
24}; 24};
25 25
26struct sigaction { 26#define __ARCH_HAS_SA_RESTORER
27 __sighandler_t sa_handler;
28 unsigned long sa_flags;
29 void (*sa_restorer)(void);
30 sigset_t sa_mask; /* mask last for extensibility */
31};
32 27
33#include <asm/sigcontext.h> 28#include <asm/sigcontext.h>
34#undef __HAVE_ARCH_SIG_BITOPS 29#undef __HAVE_ARCH_SIG_BITOPS
diff --git a/arch/ia64/include/asm/signal.h b/arch/ia64/include/asm/signal.h
index a0d5f00ec8db..c62afa4a0dc2 100644
--- a/arch/ia64/include/asm/signal.h
+++ b/arch/ia64/include/asm/signal.h
@@ -26,12 +26,6 @@ typedef struct {
26 unsigned long sig[_NSIG_WORDS]; 26 unsigned long sig[_NSIG_WORDS];
27} sigset_t; 27} sigset_t;
28 28
29struct sigaction {
30 __sighandler_t sa_handler;
31 unsigned long sa_flags;
32 sigset_t sa_mask; /* mask last for extensibility */
33};
34
35# include <asm/sigcontext.h> 29# include <asm/sigcontext.h>
36 30
37# endif /* !__ASSEMBLY__ */ 31# endif /* !__ASSEMBLY__ */
diff --git a/arch/ia64/include/asm/unistd.h b/arch/ia64/include/asm/unistd.h
index bfbb109458be..c827049eb62c 100644
--- a/arch/ia64/include/asm/unistd.h
+++ b/arch/ia64/include/asm/unistd.h
@@ -47,7 +47,6 @@ asmlinkage unsigned long sys_mmap2(
47 int prot, int flags, 47 int prot, int flags,
48 int fd, long pgoff); 48 int fd, long pgoff);
49struct pt_regs; 49struct pt_regs;
50struct sigaction;
51asmlinkage long sys_ia64_pipe(void); 50asmlinkage long sys_ia64_pipe(void);
52 51
53/* 52/*
diff --git a/arch/m32r/include/asm/signal.h b/arch/m32r/include/asm/signal.h
index 4699405f9f82..ed3ded6601e8 100644
--- a/arch/m32r/include/asm/signal.h
+++ b/arch/m32r/include/asm/signal.h
@@ -16,13 +16,7 @@ typedef struct {
16 unsigned long sig[_NSIG_WORDS]; 16 unsigned long sig[_NSIG_WORDS];
17} sigset_t; 17} sigset_t;
18 18
19struct sigaction { 19#define __ARCH_HAS_SA_RESTORER
20 __sighandler_t sa_handler;
21 unsigned long sa_flags;
22 __sigrestore_t sa_restorer;
23 sigset_t sa_mask; /* mask last for extensibility */
24};
25
26#include <asm/sigcontext.h> 20#include <asm/sigcontext.h>
27 21
28#undef __HAVE_ARCH_SIG_BITOPS 22#undef __HAVE_ARCH_SIG_BITOPS
diff --git a/arch/m68k/include/asm/signal.h b/arch/m68k/include/asm/signal.h
index 1edd5f358c0f..c7b4fb1fa14d 100644
--- a/arch/m68k/include/asm/signal.h
+++ b/arch/m68k/include/asm/signal.h
@@ -23,12 +23,7 @@ struct old_sigaction {
23 __sigrestore_t sa_restorer; 23 __sigrestore_t sa_restorer;
24}; 24};
25 25
26struct sigaction { 26#define __ARCH_HAS_SA_RESTORER
27 __sighandler_t sa_handler;
28 unsigned long sa_flags;
29 __sigrestore_t sa_restorer;
30 sigset_t sa_mask; /* mask last for extensibility */
31};
32 27
33#include <asm/sigcontext.h> 28#include <asm/sigcontext.h>
34 29
diff --git a/arch/mips/include/asm/signal.h b/arch/mips/include/asm/signal.h
index cf4a08062d1d..197f6367c201 100644
--- a/arch/mips/include/asm/signal.h
+++ b/arch/mips/include/asm/signal.h
@@ -21,4 +21,6 @@
21#include <asm/sigcontext.h> 21#include <asm/sigcontext.h>
22#include <asm/siginfo.h> 22#include <asm/siginfo.h>
23 23
24#define __ARCH_HAS_ODD_SIGACTION
25
24#endif /* _ASM_SIGNAL_H */ 26#endif /* _ASM_SIGNAL_H */
diff --git a/arch/mips/include/uapi/asm/signal.h b/arch/mips/include/uapi/asm/signal.h
index 3c85fa07b3d3..6783c887a678 100644
--- a/arch/mips/include/uapi/asm/signal.h
+++ b/arch/mips/include/uapi/asm/signal.h
@@ -96,11 +96,13 @@ typedef unsigned long old_sigset_t; /* at least 32 bits */
96 96
97#include <asm-generic/signal-defs.h> 97#include <asm-generic/signal-defs.h>
98 98
99#ifndef __KERNEL__
99struct sigaction { 100struct sigaction {
100 unsigned int sa_flags; 101 unsigned int sa_flags;
101 __sighandler_t sa_handler; 102 __sighandler_t sa_handler;
102 sigset_t sa_mask; 103 sigset_t sa_mask;
103}; 104};
105#endif
104 106
105/* IRIX compatible stack_t */ 107/* IRIX compatible stack_t */
106typedef struct sigaltstack { 108typedef struct sigaltstack {
diff --git a/arch/mn10300/include/asm/signal.h b/arch/mn10300/include/asm/signal.h
index d6f06540acb0..288ade5ec94e 100644
--- a/arch/mn10300/include/asm/signal.h
+++ b/arch/mn10300/include/asm/signal.h
@@ -33,12 +33,7 @@ struct old_sigaction {
33 __sigrestore_t sa_restorer; 33 __sigrestore_t sa_restorer;
34}; 34};
35 35
36struct sigaction { 36#define __ARCH_HAS_SA_RESTORER
37 __sighandler_t sa_handler;
38 unsigned long sa_flags;
39 __sigrestore_t sa_restorer;
40 sigset_t sa_mask; /* mask last for extensibility */
41};
42 37
43#include <asm/sigcontext.h> 38#include <asm/sigcontext.h>
44 39
diff --git a/arch/parisc/include/asm/signal.h b/arch/parisc/include/asm/signal.h
index e42e05d69a1d..c8e4ec5a6582 100644
--- a/arch/parisc/include/asm/signal.h
+++ b/arch/parisc/include/asm/signal.h
@@ -24,11 +24,13 @@ typedef struct {
24 unsigned long sig[_NSIG_WORDS]; 24 unsigned long sig[_NSIG_WORDS];
25} sigset_t; 25} sigset_t;
26 26
27#ifndef __KERNEL__
27struct sigaction { 28struct sigaction {
28 __sighandler_t sa_handler; 29 __sighandler_t sa_handler;
29 unsigned long sa_flags; 30 unsigned long sa_flags;
30 sigset_t sa_mask; /* mask last for extensibility */ 31 sigset_t sa_mask; /* mask last for extensibility */
31}; 32};
33#endif
32 34
33#include <asm/sigcontext.h> 35#include <asm/sigcontext.h>
34 36
diff --git a/arch/powerpc/include/asm/signal.h b/arch/powerpc/include/asm/signal.h
index a101637725a2..fbe66c463891 100644
--- a/arch/powerpc/include/asm/signal.h
+++ b/arch/powerpc/include/asm/signal.h
@@ -1,6 +1,7 @@
1#ifndef _ASM_POWERPC_SIGNAL_H 1#ifndef _ASM_POWERPC_SIGNAL_H
2#define _ASM_POWERPC_SIGNAL_H 2#define _ASM_POWERPC_SIGNAL_H
3 3
4#define __ARCH_HAS_SA_RESTORER
4#include <uapi/asm/signal.h> 5#include <uapi/asm/signal.h>
5 6
6#endif /* _ASM_POWERPC_SIGNAL_H */ 7#endif /* _ASM_POWERPC_SIGNAL_H */
diff --git a/arch/powerpc/include/asm/syscalls.h b/arch/powerpc/include/asm/syscalls.h
index 5c51659e61d5..21936530df08 100644
--- a/arch/powerpc/include/asm/syscalls.h
+++ b/arch/powerpc/include/asm/syscalls.h
@@ -9,7 +9,6 @@
9 9
10struct pt_regs; 10struct pt_regs;
11struct rtas_args; 11struct rtas_args;
12struct sigaction;
13 12
14asmlinkage unsigned long sys_mmap(unsigned long addr, size_t len, 13asmlinkage unsigned long sys_mmap(unsigned long addr, size_t len,
15 unsigned long prot, unsigned long flags, 14 unsigned long prot, unsigned long flags,
diff --git a/arch/powerpc/include/uapi/asm/signal.h b/arch/powerpc/include/uapi/asm/signal.h
index a1a624699292..6defdd65594e 100644
--- a/arch/powerpc/include/uapi/asm/signal.h
+++ b/arch/powerpc/include/uapi/asm/signal.h
@@ -97,12 +97,14 @@ struct old_sigaction {
97 __sigrestore_t sa_restorer; 97 __sigrestore_t sa_restorer;
98}; 98};
99 99
100#ifndef __KERNEL__
100struct sigaction { 101struct sigaction {
101 __sighandler_t sa_handler; 102 __sighandler_t sa_handler;
102 unsigned long sa_flags; 103 unsigned long sa_flags;
103 __sigrestore_t sa_restorer; 104 __sigrestore_t sa_restorer;
104 sigset_t sa_mask; /* mask last for extensibility */ 105 sigset_t sa_mask; /* mask last for extensibility */
105}; 106};
107#endif
106 108
107typedef struct sigaltstack { 109typedef struct sigaltstack {
108 void __user *ss_sp; 110 void __user *ss_sp;
diff --git a/arch/s390/include/asm/signal.h b/arch/s390/include/asm/signal.h
index 89853592e492..d26e30e31656 100644
--- a/arch/s390/include/asm/signal.h
+++ b/arch/s390/include/asm/signal.h
@@ -28,11 +28,5 @@ struct old_sigaction {
28 void (*sa_restorer)(void); 28 void (*sa_restorer)(void);
29}; 29};
30 30
31struct sigaction { 31#define __ARCH_HAS_SA_RESTORER
32 __sighandler_t sa_handler;
33 unsigned long sa_flags;
34 void (*sa_restorer)(void);
35 sigset_t sa_mask; /* mask last for extensibility */
36};
37
38#endif 32#endif
diff --git a/arch/sparc/include/asm/signal.h b/arch/sparc/include/asm/signal.h
index e1881856a55c..c33ce3f2ba84 100644
--- a/arch/sparc/include/asm/signal.h
+++ b/arch/sparc/include/asm/signal.h
@@ -22,6 +22,7 @@
22#define SA_STATIC_ALLOC 0x8000 22#define SA_STATIC_ALLOC 0x8000
23 23
24#define __ARCH_HAS_KA_RESTORER 24#define __ARCH_HAS_KA_RESTORER
25#define __ARCH_HAS_SA_RESTORER
25 26
26#endif /* !(__ASSEMBLY__) */ 27#endif /* !(__ASSEMBLY__) */
27#endif /* !(__SPARC_SIGNAL_H) */ 28#endif /* !(__SPARC_SIGNAL_H) */
diff --git a/arch/sparc/include/uapi/asm/signal.h b/arch/sparc/include/uapi/asm/signal.h
index c4ffd6c97106..284836f0b7dc 100644
--- a/arch/sparc/include/uapi/asm/signal.h
+++ b/arch/sparc/include/uapi/asm/signal.h
@@ -153,12 +153,14 @@ struct sigstack {
153 153
154#include <asm-generic/signal-defs.h> 154#include <asm-generic/signal-defs.h>
155 155
156#ifndef __KERNEL__
156struct __new_sigaction { 157struct __new_sigaction {
157 __sighandler_t sa_handler; 158 __sighandler_t sa_handler;
158 unsigned long sa_flags; 159 unsigned long sa_flags;
159 __sigrestore_t sa_restorer; /* not used by Linux/SPARC yet */ 160 __sigrestore_t sa_restorer; /* not used by Linux/SPARC yet */
160 __new_sigset_t sa_mask; 161 __new_sigset_t sa_mask;
161}; 162};
163#endif
162 164
163struct __old_sigaction { 165struct __old_sigaction {
164 __sighandler_t sa_handler; 166 __sighandler_t sa_handler;
diff --git a/arch/sparc/kernel/systbls.h b/arch/sparc/kernel/systbls.h
index 118759cd7342..1dd89dbac8d8 100644
--- a/arch/sparc/kernel/systbls.h
+++ b/arch/sparc/kernel/systbls.h
@@ -3,8 +3,8 @@
3 3
4#include <linux/kernel.h> 4#include <linux/kernel.h>
5#include <linux/types.h> 5#include <linux/types.h>
6#include <linux/signal.h>
6#include <asm/utrap.h> 7#include <asm/utrap.h>
7#include <asm/signal.h>
8 8
9extern asmlinkage unsigned long sys_getpagesize(void); 9extern asmlinkage unsigned long sys_getpagesize(void);
10extern asmlinkage long sparc_pipe(struct pt_regs *regs); 10extern asmlinkage long sparc_pipe(struct pt_regs *regs);
diff --git a/arch/x86/include/asm/signal.h b/arch/x86/include/asm/signal.h
index e7cf5005931a..9bda8224f3d5 100644
--- a/arch/x86/include/asm/signal.h
+++ b/arch/x86/include/asm/signal.h
@@ -31,6 +31,9 @@ typedef sigset_t compat_sigset_t;
31#include <uapi/asm/signal.h> 31#include <uapi/asm/signal.h>
32#ifndef __ASSEMBLY__ 32#ifndef __ASSEMBLY__
33extern void do_notify_resume(struct pt_regs *, void *, __u32); 33extern void do_notify_resume(struct pt_regs *, void *, __u32);
34
35#define __ARCH_HAS_SA_RESTORER
36
34#ifdef __i386__ 37#ifdef __i386__
35struct old_sigaction { 38struct old_sigaction {
36 __sighandler_t sa_handler; 39 __sighandler_t sa_handler;
@@ -39,13 +42,6 @@ struct old_sigaction {
39 __sigrestore_t sa_restorer; 42 __sigrestore_t sa_restorer;
40}; 43};
41 44
42struct sigaction {
43 __sighandler_t sa_handler;
44 unsigned long sa_flags;
45 __sigrestore_t sa_restorer;
46 sigset_t sa_mask; /* mask last for extensibility */
47};
48
49#endif /* !__i386__ */ 45#endif /* !__i386__ */
50#include <asm/sigcontext.h> 46#include <asm/sigcontext.h>
51 47
diff --git a/arch/x86/include/uapi/asm/signal.h b/arch/x86/include/uapi/asm/signal.h
index e52443fc026b..8264f47cf53e 100644
--- a/arch/x86/include/uapi/asm/signal.h
+++ b/arch/x86/include/uapi/asm/signal.h
@@ -95,9 +95,9 @@ typedef unsigned long sigset_t;
95#ifndef __ASSEMBLY__ 95#ifndef __ASSEMBLY__
96 96
97 97
98#ifdef __i386__
99# ifndef __KERNEL__ 98# ifndef __KERNEL__
100/* Here we must cater to libcs that poke about in kernel headers. */ 99/* Here we must cater to libcs that poke about in kernel headers. */
100#ifdef __i386__
101 101
102struct sigaction { 102struct sigaction {
103 union { 103 union {
@@ -112,7 +112,6 @@ struct sigaction {
112#define sa_handler _u._sa_handler 112#define sa_handler _u._sa_handler
113#define sa_sigaction _u._sa_sigaction 113#define sa_sigaction _u._sa_sigaction
114 114
115# endif /* ! __KERNEL__ */
116#else /* __i386__ */ 115#else /* __i386__ */
117 116
118struct sigaction { 117struct sigaction {
@@ -123,6 +122,7 @@ struct sigaction {
123}; 122};
124 123
125#endif /* !__i386__ */ 124#endif /* !__i386__ */
125# endif /* ! __KERNEL__ */
126 126
127typedef struct sigaltstack { 127typedef struct sigaltstack {
128 void __user *ss_sp; 128 void __user *ss_sp;
diff --git a/arch/xtensa/include/asm/signal.h b/arch/xtensa/include/asm/signal.h
index fd63b8f46a4b..de169b4eaeef 100644
--- a/arch/xtensa/include/asm/signal.h
+++ b/arch/xtensa/include/asm/signal.h
@@ -15,12 +15,7 @@
15#include <uapi/asm/signal.h> 15#include <uapi/asm/signal.h>
16 16
17#ifndef __ASSEMBLY__ 17#ifndef __ASSEMBLY__
18struct sigaction { 18#define __ARCH_HAS_SA_RESTORER
19 __sighandler_t sa_handler;
20 unsigned long sa_flags;
21 void (*sa_restorer)(void);
22 sigset_t sa_mask; /* mask last for extensibility */
23};
24 19
25#include <asm/sigcontext.h> 20#include <asm/sigcontext.h>
26 21
diff --git a/include/linux/signal.h b/include/linux/signal.h
index 01451a156ff7..0b6878e882da 100644
--- a/include/linux/signal.h
+++ b/include/linux/signal.h
@@ -249,6 +249,20 @@ extern void __set_current_blocked(const sigset_t *);
249extern int show_unhandled_signals; 249extern int show_unhandled_signals;
250extern int sigsuspend(sigset_t *); 250extern int sigsuspend(sigset_t *);
251 251
252struct sigaction {
253#ifndef __ARCH_HAS_ODD_SIGACTION
254 __sighandler_t sa_handler;
255 unsigned long sa_flags;
256#else
257 unsigned long sa_flags;
258 __sighandler_t sa_handler;
259#endif
260#ifdef __ARCH_HAS_SA_RESTORER
261 __sigrestore_t sa_restorer;
262#endif
263 sigset_t sa_mask; /* mask last for extensibility */
264};
265
252struct k_sigaction { 266struct k_sigaction {
253 struct sigaction sa; 267 struct sigaction sa;
254#ifdef __ARCH_HAS_KA_RESTORER 268#ifdef __ARCH_HAS_KA_RESTORER
diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h
index d2dd2f63d220..1c4938bf901e 100644
--- a/include/linux/syscalls.h
+++ b/include/linux/syscalls.h
@@ -68,11 +68,11 @@ struct sigaltstack;
68#include <linux/types.h> 68#include <linux/types.h>
69#include <linux/aio_abi.h> 69#include <linux/aio_abi.h>
70#include <linux/capability.h> 70#include <linux/capability.h>
71#include <linux/signal.h>
71#include <linux/list.h> 72#include <linux/list.h>
72#include <linux/bug.h> 73#include <linux/bug.h>
73#include <linux/sem.h> 74#include <linux/sem.h>
74#include <asm/siginfo.h> 75#include <asm/siginfo.h>
75#include <asm/signal.h>
76#include <linux/unistd.h> 76#include <linux/unistd.h>
77#include <linux/quota.h> 77#include <linux/quota.h>
78#include <linux/key.h> 78#include <linux/key.h>
diff --git a/include/uapi/asm-generic/signal.h b/include/uapi/asm-generic/signal.h
index 21e59f36c61b..9df61f1edb0f 100644
--- a/include/uapi/asm-generic/signal.h
+++ b/include/uapi/asm-generic/signal.h
@@ -93,6 +93,11 @@ typedef unsigned long old_sigset_t;
93 93
94#include <asm-generic/signal-defs.h> 94#include <asm-generic/signal-defs.h>
95 95
96#ifdef SA_RESTORER
97#define __ARCH_HAS_SA_RESTORER
98#endif
99
100#ifndef __KERNEL__
96struct sigaction { 101struct sigaction {
97 __sighandler_t sa_handler; 102 __sighandler_t sa_handler;
98 unsigned long sa_flags; 103 unsigned long sa_flags;
@@ -101,6 +106,7 @@ struct sigaction {
101#endif 106#endif
102 sigset_t sa_mask; /* mask last for extensibility */ 107 sigset_t sa_mask; /* mask last for extensibility */
103}; 108};
109#endif
104 110
105typedef struct sigaltstack { 111typedef struct sigaltstack {
106 void __user *ss_sp; 112 void __user *ss_sp;