Commit 574c4866 authored by Al Viro's avatar Al Viro

consolidate kernel-side struct sigaction declarations

Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 92a3ce4a
...@@ -22,12 +22,6 @@ struct osf_sigaction { ...@@ -22,12 +22,6 @@ struct osf_sigaction {
int sa_flags; int sa_flags;
}; };
struct sigaction {
__sighandler_t sa_handler;
unsigned long sa_flags;
sigset_t sa_mask; /* mask last for extensibility */
};
#define __ARCH_HAS_KA_RESTORER #define __ARCH_HAS_KA_RESTORER
#include <asm/sigcontext.h> #include <asm/sigcontext.h>
#endif #endif
...@@ -23,12 +23,7 @@ struct old_sigaction { ...@@ -23,12 +23,7 @@ struct old_sigaction {
__sigrestore_t sa_restorer; __sigrestore_t sa_restorer;
}; };
struct sigaction { #define __ARCH_HAS_SA_RESTORER
__sighandler_t sa_handler;
unsigned long sa_flags;
__sigrestore_t sa_restorer;
sigset_t sa_mask; /* mask last for extensibility */
};
#include <asm/sigcontext.h> #include <asm/sigcontext.h>
#endif #endif
...@@ -23,12 +23,7 @@ typedef struct { ...@@ -23,12 +23,7 @@ typedef struct {
unsigned long sig[_NSIG_WORDS]; unsigned long sig[_NSIG_WORDS];
} sigset_t; } sigset_t;
struct sigaction { #define __ARCH_HAS_SA_RESTORER
__sighandler_t sa_handler;
unsigned long sa_flags;
__sigrestore_t sa_restorer;
sigset_t sa_mask; /* mask last for extensibility */
};
#include <asm/sigcontext.h> #include <asm/sigcontext.h>
#undef __HAVE_ARCH_SIG_BITOPS #undef __HAVE_ARCH_SIG_BITOPS
......
...@@ -23,12 +23,7 @@ struct old_sigaction { ...@@ -23,12 +23,7 @@ struct old_sigaction {
void (*sa_restorer)(void); void (*sa_restorer)(void);
}; };
struct sigaction { #define __ARCH_HAS_SA_RESTORER
__sighandler_t sa_handler;
unsigned long sa_flags;
void (*sa_restorer)(void);
sigset_t sa_mask; /* mask last for extensibility */
};
#include <asm/sigcontext.h> #include <asm/sigcontext.h>
......
...@@ -23,12 +23,7 @@ struct old_sigaction { ...@@ -23,12 +23,7 @@ struct old_sigaction {
void (*sa_restorer)(void); void (*sa_restorer)(void);
}; };
struct sigaction { #define __ARCH_HAS_SA_RESTORER
__sighandler_t sa_handler;
unsigned long sa_flags;
void (*sa_restorer)(void);
sigset_t sa_mask; /* mask last for extensibility */
};
#include <asm/sigcontext.h> #include <asm/sigcontext.h>
#undef __HAVE_ARCH_SIG_BITOPS #undef __HAVE_ARCH_SIG_BITOPS
......
...@@ -26,12 +26,6 @@ typedef struct { ...@@ -26,12 +26,6 @@ typedef struct {
unsigned long sig[_NSIG_WORDS]; unsigned long sig[_NSIG_WORDS];
} sigset_t; } sigset_t;
struct sigaction {
__sighandler_t sa_handler;
unsigned long sa_flags;
sigset_t sa_mask; /* mask last for extensibility */
};
# include <asm/sigcontext.h> # include <asm/sigcontext.h>
# endif /* !__ASSEMBLY__ */ # endif /* !__ASSEMBLY__ */
......
...@@ -47,7 +47,6 @@ asmlinkage unsigned long sys_mmap2( ...@@ -47,7 +47,6 @@ asmlinkage unsigned long sys_mmap2(
int prot, int flags, int prot, int flags,
int fd, long pgoff); int fd, long pgoff);
struct pt_regs; struct pt_regs;
struct sigaction;
asmlinkage long sys_ia64_pipe(void); asmlinkage long sys_ia64_pipe(void);
/* /*
......
...@@ -16,13 +16,7 @@ typedef struct { ...@@ -16,13 +16,7 @@ typedef struct {
unsigned long sig[_NSIG_WORDS]; unsigned long sig[_NSIG_WORDS];
} sigset_t; } sigset_t;
struct sigaction { #define __ARCH_HAS_SA_RESTORER
__sighandler_t sa_handler;
unsigned long sa_flags;
__sigrestore_t sa_restorer;
sigset_t sa_mask; /* mask last for extensibility */
};
#include <asm/sigcontext.h> #include <asm/sigcontext.h>
#undef __HAVE_ARCH_SIG_BITOPS #undef __HAVE_ARCH_SIG_BITOPS
......
...@@ -23,12 +23,7 @@ struct old_sigaction { ...@@ -23,12 +23,7 @@ struct old_sigaction {
__sigrestore_t sa_restorer; __sigrestore_t sa_restorer;
}; };
struct sigaction { #define __ARCH_HAS_SA_RESTORER
__sighandler_t sa_handler;
unsigned long sa_flags;
__sigrestore_t sa_restorer;
sigset_t sa_mask; /* mask last for extensibility */
};
#include <asm/sigcontext.h> #include <asm/sigcontext.h>
......
...@@ -21,4 +21,6 @@ ...@@ -21,4 +21,6 @@
#include <asm/sigcontext.h> #include <asm/sigcontext.h>
#include <asm/siginfo.h> #include <asm/siginfo.h>
#define __ARCH_HAS_ODD_SIGACTION
#endif /* _ASM_SIGNAL_H */ #endif /* _ASM_SIGNAL_H */
...@@ -96,11 +96,13 @@ typedef unsigned long old_sigset_t; /* at least 32 bits */ ...@@ -96,11 +96,13 @@ typedef unsigned long old_sigset_t; /* at least 32 bits */
#include <asm-generic/signal-defs.h> #include <asm-generic/signal-defs.h>
#ifndef __KERNEL__
struct sigaction { struct sigaction {
unsigned int sa_flags; unsigned int sa_flags;
__sighandler_t sa_handler; __sighandler_t sa_handler;
sigset_t sa_mask; sigset_t sa_mask;
}; };
#endif
/* IRIX compatible stack_t */ /* IRIX compatible stack_t */
typedef struct sigaltstack { typedef struct sigaltstack {
......
...@@ -33,12 +33,7 @@ struct old_sigaction { ...@@ -33,12 +33,7 @@ struct old_sigaction {
__sigrestore_t sa_restorer; __sigrestore_t sa_restorer;
}; };
struct sigaction { #define __ARCH_HAS_SA_RESTORER
__sighandler_t sa_handler;
unsigned long sa_flags;
__sigrestore_t sa_restorer;
sigset_t sa_mask; /* mask last for extensibility */
};
#include <asm/sigcontext.h> #include <asm/sigcontext.h>
......
...@@ -24,11 +24,13 @@ typedef struct { ...@@ -24,11 +24,13 @@ typedef struct {
unsigned long sig[_NSIG_WORDS]; unsigned long sig[_NSIG_WORDS];
} sigset_t; } sigset_t;
#ifndef __KERNEL__
struct sigaction { struct sigaction {
__sighandler_t sa_handler; __sighandler_t sa_handler;
unsigned long sa_flags; unsigned long sa_flags;
sigset_t sa_mask; /* mask last for extensibility */ sigset_t sa_mask; /* mask last for extensibility */
}; };
#endif
#include <asm/sigcontext.h> #include <asm/sigcontext.h>
......
#ifndef _ASM_POWERPC_SIGNAL_H #ifndef _ASM_POWERPC_SIGNAL_H
#define _ASM_POWERPC_SIGNAL_H #define _ASM_POWERPC_SIGNAL_H
#define __ARCH_HAS_SA_RESTORER
#include <uapi/asm/signal.h> #include <uapi/asm/signal.h>
#endif /* _ASM_POWERPC_SIGNAL_H */ #endif /* _ASM_POWERPC_SIGNAL_H */
...@@ -9,7 +9,6 @@ ...@@ -9,7 +9,6 @@
struct pt_regs; struct pt_regs;
struct rtas_args; struct rtas_args;
struct sigaction;
asmlinkage unsigned long sys_mmap(unsigned long addr, size_t len, asmlinkage unsigned long sys_mmap(unsigned long addr, size_t len,
unsigned long prot, unsigned long flags, unsigned long prot, unsigned long flags,
......
...@@ -97,12 +97,14 @@ struct old_sigaction { ...@@ -97,12 +97,14 @@ struct old_sigaction {
__sigrestore_t sa_restorer; __sigrestore_t sa_restorer;
}; };
#ifndef __KERNEL__
struct sigaction { struct sigaction {
__sighandler_t sa_handler; __sighandler_t sa_handler;
unsigned long sa_flags; unsigned long sa_flags;
__sigrestore_t sa_restorer; __sigrestore_t sa_restorer;
sigset_t sa_mask; /* mask last for extensibility */ sigset_t sa_mask; /* mask last for extensibility */
}; };
#endif
typedef struct sigaltstack { typedef struct sigaltstack {
void __user *ss_sp; void __user *ss_sp;
......
...@@ -28,11 +28,5 @@ struct old_sigaction { ...@@ -28,11 +28,5 @@ struct old_sigaction {
void (*sa_restorer)(void); void (*sa_restorer)(void);
}; };
struct sigaction { #define __ARCH_HAS_SA_RESTORER
__sighandler_t sa_handler;
unsigned long sa_flags;
void (*sa_restorer)(void);
sigset_t sa_mask; /* mask last for extensibility */
};
#endif #endif
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
#define SA_STATIC_ALLOC 0x8000 #define SA_STATIC_ALLOC 0x8000
#define __ARCH_HAS_KA_RESTORER #define __ARCH_HAS_KA_RESTORER
#define __ARCH_HAS_SA_RESTORER
#endif /* !(__ASSEMBLY__) */ #endif /* !(__ASSEMBLY__) */
#endif /* !(__SPARC_SIGNAL_H) */ #endif /* !(__SPARC_SIGNAL_H) */
...@@ -153,12 +153,14 @@ struct sigstack { ...@@ -153,12 +153,14 @@ struct sigstack {
#include <asm-generic/signal-defs.h> #include <asm-generic/signal-defs.h>
#ifndef __KERNEL__
struct __new_sigaction { struct __new_sigaction {
__sighandler_t sa_handler; __sighandler_t sa_handler;
unsigned long sa_flags; unsigned long sa_flags;
__sigrestore_t sa_restorer; /* not used by Linux/SPARC yet */ __sigrestore_t sa_restorer; /* not used by Linux/SPARC yet */
__new_sigset_t sa_mask; __new_sigset_t sa_mask;
}; };
#endif
struct __old_sigaction { struct __old_sigaction {
__sighandler_t sa_handler; __sighandler_t sa_handler;
......
...@@ -3,8 +3,8 @@ ...@@ -3,8 +3,8 @@
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/types.h> #include <linux/types.h>
#include <linux/signal.h>
#include <asm/utrap.h> #include <asm/utrap.h>
#include <asm/signal.h>
extern asmlinkage unsigned long sys_getpagesize(void); extern asmlinkage unsigned long sys_getpagesize(void);
extern asmlinkage long sparc_pipe(struct pt_regs *regs); extern asmlinkage long sparc_pipe(struct pt_regs *regs);
......
...@@ -31,6 +31,9 @@ typedef sigset_t compat_sigset_t; ...@@ -31,6 +31,9 @@ typedef sigset_t compat_sigset_t;
#include <uapi/asm/signal.h> #include <uapi/asm/signal.h>
#ifndef __ASSEMBLY__ #ifndef __ASSEMBLY__
extern void do_notify_resume(struct pt_regs *, void *, __u32); extern void do_notify_resume(struct pt_regs *, void *, __u32);
#define __ARCH_HAS_SA_RESTORER
#ifdef __i386__ #ifdef __i386__
struct old_sigaction { struct old_sigaction {
__sighandler_t sa_handler; __sighandler_t sa_handler;
...@@ -39,13 +42,6 @@ struct old_sigaction { ...@@ -39,13 +42,6 @@ struct old_sigaction {
__sigrestore_t sa_restorer; __sigrestore_t sa_restorer;
}; };
struct sigaction {
__sighandler_t sa_handler;
unsigned long sa_flags;
__sigrestore_t sa_restorer;
sigset_t sa_mask; /* mask last for extensibility */
};
#endif /* !__i386__ */ #endif /* !__i386__ */
#include <asm/sigcontext.h> #include <asm/sigcontext.h>
......
...@@ -95,9 +95,9 @@ typedef unsigned long sigset_t; ...@@ -95,9 +95,9 @@ typedef unsigned long sigset_t;
#ifndef __ASSEMBLY__ #ifndef __ASSEMBLY__
#ifdef __i386__
# ifndef __KERNEL__ # ifndef __KERNEL__
/* Here we must cater to libcs that poke about in kernel headers. */ /* Here we must cater to libcs that poke about in kernel headers. */
#ifdef __i386__
struct sigaction { struct sigaction {
union { union {
...@@ -112,7 +112,6 @@ struct sigaction { ...@@ -112,7 +112,6 @@ struct sigaction {
#define sa_handler _u._sa_handler #define sa_handler _u._sa_handler
#define sa_sigaction _u._sa_sigaction #define sa_sigaction _u._sa_sigaction
# endif /* ! __KERNEL__ */
#else /* __i386__ */ #else /* __i386__ */
struct sigaction { struct sigaction {
...@@ -123,6 +122,7 @@ struct sigaction { ...@@ -123,6 +122,7 @@ struct sigaction {
}; };
#endif /* !__i386__ */ #endif /* !__i386__ */
# endif /* ! __KERNEL__ */
typedef struct sigaltstack { typedef struct sigaltstack {
void __user *ss_sp; void __user *ss_sp;
......
...@@ -15,12 +15,7 @@ ...@@ -15,12 +15,7 @@
#include <uapi/asm/signal.h> #include <uapi/asm/signal.h>
#ifndef __ASSEMBLY__ #ifndef __ASSEMBLY__
struct sigaction { #define __ARCH_HAS_SA_RESTORER
__sighandler_t sa_handler;
unsigned long sa_flags;
void (*sa_restorer)(void);
sigset_t sa_mask; /* mask last for extensibility */
};
#include <asm/sigcontext.h> #include <asm/sigcontext.h>
......
...@@ -249,6 +249,20 @@ extern void __set_current_blocked(const sigset_t *); ...@@ -249,6 +249,20 @@ extern void __set_current_blocked(const sigset_t *);
extern int show_unhandled_signals; extern int show_unhandled_signals;
extern int sigsuspend(sigset_t *); extern int sigsuspend(sigset_t *);
struct sigaction {
#ifndef __ARCH_HAS_ODD_SIGACTION
__sighandler_t sa_handler;
unsigned long sa_flags;
#else
unsigned long sa_flags;
__sighandler_t sa_handler;
#endif
#ifdef __ARCH_HAS_SA_RESTORER
__sigrestore_t sa_restorer;
#endif
sigset_t sa_mask; /* mask last for extensibility */
};
struct k_sigaction { struct k_sigaction {
struct sigaction sa; struct sigaction sa;
#ifdef __ARCH_HAS_KA_RESTORER #ifdef __ARCH_HAS_KA_RESTORER
......
...@@ -68,11 +68,11 @@ struct sigaltstack; ...@@ -68,11 +68,11 @@ struct sigaltstack;
#include <linux/types.h> #include <linux/types.h>
#include <linux/aio_abi.h> #include <linux/aio_abi.h>
#include <linux/capability.h> #include <linux/capability.h>
#include <linux/signal.h>
#include <linux/list.h> #include <linux/list.h>
#include <linux/bug.h> #include <linux/bug.h>
#include <linux/sem.h> #include <linux/sem.h>
#include <asm/siginfo.h> #include <asm/siginfo.h>
#include <asm/signal.h>
#include <linux/unistd.h> #include <linux/unistd.h>
#include <linux/quota.h> #include <linux/quota.h>
#include <linux/key.h> #include <linux/key.h>
......
...@@ -93,6 +93,11 @@ typedef unsigned long old_sigset_t; ...@@ -93,6 +93,11 @@ typedef unsigned long old_sigset_t;
#include <asm-generic/signal-defs.h> #include <asm-generic/signal-defs.h>
#ifdef SA_RESTORER
#define __ARCH_HAS_SA_RESTORER
#endif
#ifndef __KERNEL__
struct sigaction { struct sigaction {
__sighandler_t sa_handler; __sighandler_t sa_handler;
unsigned long sa_flags; unsigned long sa_flags;
...@@ -101,6 +106,7 @@ struct sigaction { ...@@ -101,6 +106,7 @@ struct sigaction {
#endif #endif
sigset_t sa_mask; /* mask last for extensibility */ sigset_t sa_mask; /* mask last for extensibility */
}; };
#endif
typedef struct sigaltstack { typedef struct sigaltstack {
void __user *ss_sp; void __user *ss_sp;
......
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