[SPARC64]: Move signal compat bits to new header file.
authorDavid S. Miller <davem@sunset.davemloft.net>
Mon, 2 Oct 2006 21:17:57 +0000 (14:17 -0700)
committerDavid S. Miller <davem@sunset.davemloft.net>
Mon, 2 Oct 2006 21:24:18 +0000 (14:24 -0700)
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>
arch/sparc64/kernel/signal32.c
arch/sparc64/kernel/sys_sparc32.c
arch/sparc64/kernel/sys_sunos32.c
include/asm-sparc64/compat_signal.h [new file with mode: 0644]
include/asm-sparc64/signal.h

index 708ba9b42cda123a4522326495e2f9118053e166..c45f21b881d5faffd15afed4cd14a81acfca5e3d 100644 (file)
@@ -29,6 +29,7 @@
 #include <asm/psrcompat.h>
 #include <asm/fpumacro.h>
 #include <asm/visasm.h>
+#include <asm/compat_signal.h>
 
 #define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP)))
 
index 69444f266e2d5b88526b7019f3a0529de80edd9d..7c6499ce1767d1cd29a14ff5dd4d4ccbc1cbf20d 100644 (file)
@@ -61,6 +61,7 @@
 #include <asm/semaphore.h>
 #include <asm/mmu_context.h>
 #include <asm/a.out.h>
+#include <asm/compat_signal.h>
 
 asmlinkage long sys32_chown16(const char __user * filename, u16 user, u16 group)
 {
index 953296b73f3f10a49a332413db0203fc090b3e23..b21e8dd41a66326d15c178b5101bb39280341342 100644 (file)
@@ -43,6 +43,7 @@
 #include <asm/idprom.h> /* for gethostid() */
 #include <asm/unistd.h>
 #include <asm/system.h>
+#include <asm/compat_signal.h>
 
 /* For the nfs mount emulation */
 #include <linux/socket.h>
diff --git a/include/asm-sparc64/compat_signal.h b/include/asm-sparc64/compat_signal.h
new file mode 100644 (file)
index 0000000..7aefa30
--- /dev/null
@@ -0,0 +1,30 @@
+#ifndef _COMPAT_SIGNAL_H
+#define _COMPAT_SIGNAL_H
+
+#include <linux/config.h>
+#include <linux/compat.h>
+#include <asm/signal.h>
+
+#ifdef CONFIG_COMPAT
+struct __new_sigaction32 {
+       unsigned                sa_handler;
+       unsigned int            sa_flags;
+       unsigned                sa_restorer;     /* not used by Linux/SPARC yet */
+       compat_sigset_t         sa_mask;
+};
+
+struct __old_sigaction32 {
+       unsigned                sa_handler;
+       compat_old_sigset_t     sa_mask;
+       unsigned int            sa_flags;
+       unsigned                sa_restorer;     /* not used by Linux/SPARC yet */
+};
+
+typedef struct sigaltstack32 {
+       u32                     ss_sp;
+       int                     ss_flags;
+       compat_size_t           ss_size;
+} stack_t32;
+#endif
+
+#endif /* !(_COMPAT_SIGNAL_H) */
index 9968871103bcf79cf2b802b4c6ea9516cfdf0da8..b695d086a32b3783dc390841b40e2c46e1073f31 100644 (file)
@@ -167,23 +167,6 @@ struct __new_sigaction {
        __new_sigset_t          sa_mask;
 };
 
-#ifdef __KERNEL__
-
-#ifdef CONFIG_COMPAT
-struct __new_sigaction32 {
-       unsigned                sa_handler;
-       unsigned int            sa_flags;
-       unsigned                sa_restorer;     /* not used by Linux/SPARC yet */
-       compat_sigset_t         sa_mask;
-};
-#endif
-
-struct k_sigaction {
-       struct __new_sigaction  sa;
-       void __user             *ka_restorer;
-};
-#endif
-
 struct __old_sigaction {
        __sighandler_t          sa_handler;
        __old_sigset_t          sa_mask;
@@ -191,19 +174,6 @@ struct __old_sigaction {
        void                    (*sa_restorer)(void);     /* not used by Linux/SPARC yet */
 };
 
-#ifdef __KERNEL__
-
-#ifdef CONFIG_COMPAT
-struct __old_sigaction32 {
-       unsigned                sa_handler;
-       compat_old_sigset_t     sa_mask;
-       unsigned int            sa_flags;
-       unsigned                sa_restorer;     /* not used by Linux/SPARC yet */
-};
-#endif
-
-#endif
-
 typedef struct sigaltstack {
        void                    __user *ss_sp;
        int                     ss_flags;
@@ -212,13 +182,10 @@ typedef struct sigaltstack {
 
 #ifdef __KERNEL__
 
-#ifdef CONFIG_COMPAT
-typedef struct sigaltstack32 {
-       u32                     ss_sp;
-       int                     ss_flags;
-       compat_size_t           ss_size;
-} stack_t32;
-#endif
+struct k_sigaction {
+       struct __new_sigaction  sa;
+       void __user             *ka_restorer;
+};
 
 struct signal_deliver_cookie {
        int restart_syscall;