diff options
author | David S. Miller <davem@sunset.davemloft.net> | 2006-10-02 14:17:57 -0700 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-10-02 14:24:18 -0700 |
commit | 14cc6abada7770bb7bd637bf7bce35503e10b652 (patch) | |
tree | 774be8f0536e7d229952dd61e6cda839ac36a153 | |
parent | 0235497f7a961db57ef975eb889503809ce82fe5 (diff) | |
download | linux-14cc6abada7770bb7bd637bf7bce35503e10b652.tar.bz2 |
[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 @@ #include <asm/psrcompat.h> #include <asm/fpumacro.h> #include <asm/visasm.h> +#include <asm/compat_signal.h> #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 <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) { 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 <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 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 <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) */ 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; |