aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-sparc64
diff options
context:
space:
mode:
authorDavid S. Miller <davem@sunset.davemloft.net>2006-10-02 17:17:57 -0400
committerDavid S. Miller <davem@sunset.davemloft.net>2006-10-02 17:24:18 -0400
commit14cc6abada7770bb7bd637bf7bce35503e10b652 (patch)
tree774be8f0536e7d229952dd61e6cda839ac36a153 /include/asm-sparc64
parent0235497f7a961db57ef975eb889503809ce82fe5 (diff)
[SPARC64]: Move signal compat bits to new header file.
Create asm-sparc64/compat_signal.h and stuff things there. This avoids the "linux/compat.h includes asm/signal.h but asm/signal.h needs compat_sigset_t which isn't defined yet" problems introduced recently. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/asm-sparc64')
-rw-r--r--include/asm-sparc64/compat_signal.h30
-rw-r--r--include/asm-sparc64/signal.h41
2 files changed, 34 insertions, 37 deletions
diff --git a/include/asm-sparc64/compat_signal.h b/include/asm-sparc64/compat_signal.h
new file mode 100644
index 000000000000..7aefa301321e
--- /dev/null
+++ b/include/asm-sparc64/compat_signal.h
@@ -0,0 +1,30 @@
1#ifndef _COMPAT_SIGNAL_H
2#define _COMPAT_SIGNAL_H
3
4#include <linux/config.h>
5#include <linux/compat.h>
6#include <asm/signal.h>
7
8#ifdef CONFIG_COMPAT
9struct __new_sigaction32 {
10 unsigned sa_handler;
11 unsigned int sa_flags;
12 unsigned sa_restorer; /* not used by Linux/SPARC yet */
13 compat_sigset_t sa_mask;
14};
15
16struct __old_sigaction32 {
17 unsigned sa_handler;
18 compat_old_sigset_t sa_mask;
19 unsigned int sa_flags;
20 unsigned sa_restorer; /* not used by Linux/SPARC yet */
21};
22
23typedef struct sigaltstack32 {
24 u32 ss_sp;
25 int ss_flags;
26 compat_size_t ss_size;
27} stack_t32;
28#endif
29
30#endif /* !(_COMPAT_SIGNAL_H) */
diff --git a/include/asm-sparc64/signal.h b/include/asm-sparc64/signal.h
index 9968871103bc..b695d086a32b 100644
--- a/include/asm-sparc64/signal.h
+++ b/include/asm-sparc64/signal.h
@@ -167,23 +167,6 @@ struct __new_sigaction {
167 __new_sigset_t sa_mask; 167 __new_sigset_t sa_mask;
168}; 168};
169 169
170#ifdef __KERNEL__
171
172#ifdef CONFIG_COMPAT
173struct __new_sigaction32 {
174 unsigned sa_handler;
175 unsigned int sa_flags;
176 unsigned sa_restorer; /* not used by Linux/SPARC yet */
177 compat_sigset_t sa_mask;
178};
179#endif
180
181struct k_sigaction {
182 struct __new_sigaction sa;
183 void __user *ka_restorer;
184};
185#endif
186
187struct __old_sigaction { 170struct __old_sigaction {
188 __sighandler_t sa_handler; 171 __sighandler_t sa_handler;
189 __old_sigset_t sa_mask; 172 __old_sigset_t sa_mask;
@@ -191,19 +174,6 @@ struct __old_sigaction {
191 void (*sa_restorer)(void); /* not used by Linux/SPARC yet */ 174 void (*sa_restorer)(void); /* not used by Linux/SPARC yet */
192}; 175};
193 176
194#ifdef __KERNEL__
195
196#ifdef CONFIG_COMPAT
197struct __old_sigaction32 {
198 unsigned sa_handler;
199 compat_old_sigset_t sa_mask;
200 unsigned int sa_flags;
201 unsigned sa_restorer; /* not used by Linux/SPARC yet */
202};
203#endif
204
205#endif
206
207typedef struct sigaltstack { 177typedef struct sigaltstack {
208 void __user *ss_sp; 178 void __user *ss_sp;
209 int ss_flags; 179 int ss_flags;
@@ -212,13 +182,10 @@ typedef struct sigaltstack {
212 182
213#ifdef __KERNEL__ 183#ifdef __KERNEL__
214 184
215#ifdef CONFIG_COMPAT 185struct k_sigaction {
216typedef struct sigaltstack32 { 186 struct __new_sigaction sa;
217 u32 ss_sp; 187 void __user *ka_restorer;
218 int ss_flags; 188};
219 compat_size_t ss_size;
220} stack_t32;
221#endif
222 189
223struct signal_deliver_cookie { 190struct signal_deliver_cookie {
224 int restart_syscall; 191 int restart_syscall;