From: Andrew Morton ia64: include/linux/compat.h:230: error: syntax error before '*' token include/linux/compat.h:230: warning: function declaration isn't a prototype sigset_t. I've tried to put sigset_t's in compat.h before. It gets ugly. Hack around it for now. I must say that it's rather sad that such a tremendously compile-time-risky patch wasn't even test compiled on ia64 and x86. Cc: David Howells Cc: Jens Axboe Signed-off-by: Andrew Morton --- arch/mips/kernel/signal_n32.c | 4 ++-- fs/compat.c | 2 ++ include/linux/compat.h | 1 - kernel/compat.c | 2 ++ 4 files changed, 6 insertions(+), 3 deletions(-) diff -puN include/linux/compat.h~git-block-hack include/linux/compat.h --- a/include/linux/compat.h~git-block-hack +++ a/include/linux/compat.h @@ -227,7 +227,6 @@ static inline int compat_timespec_compar asmlinkage long compat_sys_adjtimex(struct compat_timex __user *utp); extern int compat_printk(const char *fmt, ...); -extern void sigset_from_compat(sigset_t *set, compat_sigset_t *compat); #endif /* CONFIG_COMPAT */ #endif /* _LINUX_COMPAT_H */ diff -puN fs/compat.c~git-block-hack fs/compat.c --- a/fs/compat.c~git-block-hack +++ a/fs/compat.c @@ -56,6 +56,8 @@ int compat_log = 1; +extern void sigset_from_compat(sigset_t *set, compat_sigset_t *compat); + int compat_printk(const char *fmt, ...) { va_list ap; diff -puN kernel/compat.c~git-block-hack kernel/compat.c --- a/kernel/compat.c~git-block-hack +++ a/kernel/compat.c @@ -25,6 +25,8 @@ #include +extern void sigset_from_compat(sigset_t *set, compat_sigset_t *compat); + int get_compat_timespec(struct timespec *ts, const struct compat_timespec __user *cts) { return (!access_ok(VERIFY_READ, cts, sizeof(*cts)) || diff -puN arch/mips/kernel/signal_n32.c~git-block-hack arch/mips/kernel/signal_n32.c --- a/arch/mips/kernel/signal_n32.c~git-block-hack +++ a/arch/mips/kernel/signal_n32.c @@ -42,6 +42,8 @@ #include "signal-common.h" +extern void sigset_from_compat(sigset_t *set, compat_sigset_t *compat); + /* * Including would give use the 64-bit syscall numbers ... */ @@ -81,8 +83,6 @@ struct rt_sigframe_n32 { #endif }; -extern void sigset_from_compat (sigset_t *set, compat_sigset_t *compat); - save_static_function(sysn32_rt_sigsuspend); __attribute_used__ noinline static int _sysn32_rt_sigsuspend(nabi_no_regargs struct pt_regs regs) _