From 14cc6abada7770bb7bd637bf7bce35503e10b652 Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Mon, 2 Oct 2006 14:17:57 -0700 Subject: [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 --- arch/sparc64/kernel/signal32.c | 1 + arch/sparc64/kernel/sys_sparc32.c | 1 + arch/sparc64/kernel/sys_sunos32.c | 1 + include/asm-sparc64/compat_signal.h | 30 +++++++++++++++++++++++++++ include/asm-sparc64/signal.h | 41 ++++--------------------------------- 5 files changed, 37 insertions(+), 37 deletions(-) create mode 100644 include/asm-sparc64/compat_signal.h 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 @@ #include #include #include +#include #define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP))) 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 @@ #include #include #include +#include asmlinkage long sys32_chown16(const char __user * filename, u16 user, u16 group) { 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 @@ #include /* for gethostid() */ #include #include +#include /* For the nfs mount emulation */ #include 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 @@ +#ifndef _COMPAT_SIGNAL_H +#define _COMPAT_SIGNAL_H + +#include +#include +#include + +#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) */ 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 { __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; -- cgit v1.2.2