aboutsummaryrefslogtreecommitdiffstats
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
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>
-rw-r--r--arch/sparc64/kernel/signal32.c1
-rw-r--r--arch/sparc64/kernel/sys_sparc32.c1
-rw-r--r--arch/sparc64/kernel/sys_sunos32.c1
-rw-r--r--include/asm-sparc64/compat_signal.h30
-rw-r--r--include/asm-sparc64/signal.h41
5 files changed, 37 insertions, 37 deletions
diff --git a/arch/sparc64/kernel/signal32.c b/arch/sparc64/kernel/signal32.c
index 708ba9b42cda..c45f21b881d5 100644
--- a/arch/sparc64/kernel/signal32.c
+++ b/arch/sparc64/kernel/signal32.c
@@ -29,6 +29,7 @@
29#include <asm/psrcompat.h> 29#include <asm/psrcompat.h>
30#include <asm/fpumacro.h> 30#include <asm/fpumacro.h>
31#include <asm/visasm.h> 31#include <asm/visasm.h>
32#include <asm/compat_signal.h>
32 33
33#define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP))) 34#define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP)))
34 35
diff --git a/arch/sparc64/kernel/sys_sparc32.c b/arch/sparc64/kernel/sys_sparc32.c
index 69444f266e2d..7c6499ce1767 100644
--- a/arch/sparc64/kernel/sys_sparc32.c
+++ b/arch/sparc64/kernel/sys_sparc32.c
@@ -61,6 +61,7 @@
61#include <asm/semaphore.h> 61#include <asm/semaphore.h>
62#include <asm/mmu_context.h> 62#include <asm/mmu_context.h>
63#include <asm/a.out.h> 63#include <asm/a.out.h>
64#include <asm/compat_signal.h>
64 65
65asmlinkage long sys32_chown16(const char __user * filename, u16 user, u16 group) 66asmlinkage long sys32_chown16(const char __user * filename, u16 user, u16 group)
66{ 67{
diff --git a/arch/sparc64/kernel/sys_sunos32.c b/arch/sparc64/kernel/sys_sunos32.c
index 953296b73f3f..b21e8dd41a66 100644
--- a/arch/sparc64/kernel/sys_sunos32.c
+++ b/arch/sparc64/kernel/sys_sunos32.c
@@ -43,6 +43,7 @@
43#include <asm/idprom.h> /* for gethostid() */ 43#include <asm/idprom.h> /* for gethostid() */
44#include <asm/unistd.h> 44#include <asm/unistd.h>
45#include <asm/system.h> 45#include <asm/system.h>
46#include <asm/compat_signal.h>
46 47
47/* For the nfs mount emulation */ 48/* For the nfs mount emulation */
48#include <linux/socket.h> 49#include <linux/socket.h>
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;