Commit 14cc6aba authored by David S. Miller's avatar David S. Miller

[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: default avatarDavid S. Miller <davem@davemloft.net>
parent 0235497f
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
#include <asm/psrcompat.h> #include <asm/psrcompat.h>
#include <asm/fpumacro.h> #include <asm/fpumacro.h>
#include <asm/visasm.h> #include <asm/visasm.h>
#include <asm/compat_signal.h>
#define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP))) #define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP)))
......
...@@ -61,6 +61,7 @@ ...@@ -61,6 +61,7 @@
#include <asm/semaphore.h> #include <asm/semaphore.h>
#include <asm/mmu_context.h> #include <asm/mmu_context.h>
#include <asm/a.out.h> #include <asm/a.out.h>
#include <asm/compat_signal.h>
asmlinkage long sys32_chown16(const char __user * filename, u16 user, u16 group) asmlinkage long sys32_chown16(const char __user * filename, u16 user, u16 group)
{ {
......
...@@ -43,6 +43,7 @@ ...@@ -43,6 +43,7 @@
#include <asm/idprom.h> /* for gethostid() */ #include <asm/idprom.h> /* for gethostid() */
#include <asm/unistd.h> #include <asm/unistd.h>
#include <asm/system.h> #include <asm/system.h>
#include <asm/compat_signal.h>
/* For the nfs mount emulation */ /* For the nfs mount emulation */
#include <linux/socket.h> #include <linux/socket.h>
......
#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) */
...@@ -167,23 +167,6 @@ struct __new_sigaction { ...@@ -167,23 +167,6 @@ struct __new_sigaction {
__new_sigset_t sa_mask; __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 { struct __old_sigaction {
__sighandler_t sa_handler; __sighandler_t sa_handler;
__old_sigset_t sa_mask; __old_sigset_t sa_mask;
...@@ -191,19 +174,6 @@ struct __old_sigaction { ...@@ -191,19 +174,6 @@ struct __old_sigaction {
void (*sa_restorer)(void); /* not used by Linux/SPARC yet */ 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 { typedef struct sigaltstack {
void __user *ss_sp; void __user *ss_sp;
int ss_flags; int ss_flags;
...@@ -212,13 +182,10 @@ typedef struct sigaltstack { ...@@ -212,13 +182,10 @@ typedef struct sigaltstack {
#ifdef __KERNEL__ #ifdef __KERNEL__
#ifdef CONFIG_COMPAT struct k_sigaction {
typedef struct sigaltstack32 { struct __new_sigaction sa;
u32 ss_sp; void __user *ka_restorer;
int ss_flags; };
compat_size_t ss_size;
} stack_t32;
#endif
struct signal_deliver_cookie { struct signal_deliver_cookie {
int restart_syscall; int restart_syscall;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment