diff options
author | David S. Miller <davem@sunset.davemloft.net> | 2006-10-02 17:17:57 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-10-02 17:24:18 -0400 |
commit | 14cc6abada7770bb7bd637bf7bce35503e10b652 (patch) | |
tree | 774be8f0536e7d229952dd61e6cda839ac36a153 | |
parent | 0235497f7a961db57ef975eb889503809ce82fe5 (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.c | 1 | ||||
-rw-r--r-- | arch/sparc64/kernel/sys_sparc32.c | 1 | ||||
-rw-r--r-- | arch/sparc64/kernel/sys_sunos32.c | 1 | ||||
-rw-r--r-- | include/asm-sparc64/compat_signal.h | 30 | ||||
-rw-r--r-- | include/asm-sparc64/signal.h | 41 |
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 | ||
65 | asmlinkage long sys32_chown16(const char __user * filename, u16 user, u16 group) | 66 | asmlinkage 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 | ||
9 | struct __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 | |||
16 | struct __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 | |||
23 | typedef 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 | ||
173 | struct __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 | |||
181 | struct k_sigaction { | ||
182 | struct __new_sigaction sa; | ||
183 | void __user *ka_restorer; | ||
184 | }; | ||
185 | #endif | ||
186 | |||
187 | struct __old_sigaction { | 170 | struct __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 | ||
197 | struct __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 | |||
207 | typedef struct sigaltstack { | 177 | typedef 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 | 185 | struct k_sigaction { |
216 | typedef 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 | ||
223 | struct signal_deliver_cookie { | 190 | struct signal_deliver_cookie { |
224 | int restart_syscall; | 191 | int restart_syscall; |