Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

FRV: Fix interaction with new generic header stuff

Fix interaction with new generic header stuff as added by:

commit 6103ec56c65c33774c7c38652c8204120c3c7519
Author: Arnd Bergmann <arnd@arndb.de>
Date: Wed May 13 22:56:27 2009 +0000

asm-generic: add generic ABI headers

The problem is that asm/signal.h has been made to include asm-generic/signal.h,
but the redundant stuff from asm/signal.h has not been discarded, leading to
multiple redefinitions.

Cc: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by

David Howells and committed by
Linus Torvalds
5c55b40b d32f60ed

+3 -120
+3 -120
arch/frv/include/asm/signal.h
··· 3 3 4 4 #include <linux/types.h> 5 5 6 - /* Avoid too many header ordering problems. */ 7 - struct siginfo; 8 - 9 - #ifdef __KERNEL__ 10 - /* Most things should be clean enough to redefine this at will, if care 11 - is taken to make libc match. */ 12 - 13 - #define _NSIG 64 14 - #define _NSIG_BPW 32 15 - #define _NSIG_WORDS (_NSIG / _NSIG_BPW) 16 - 17 - typedef unsigned long old_sigset_t; /* at least 32 bits */ 18 - 19 - typedef struct { 20 - unsigned long sig[_NSIG_WORDS]; 21 - } sigset_t; 22 - 23 - #else 6 + #ifndef __KERNEL__ 24 7 /* Here we must cater to libcs that poke about in kernel headers. */ 25 8 26 9 #define NSIG 32 27 10 typedef unsigned long sigset_t; 28 11 29 - #endif /* __KERNEL__ */ 12 + #endif /* !__KERNEL__ */ 30 13 31 - #define SIGHUP 1 32 - #define SIGINT 2 33 - #define SIGQUIT 3 34 - #define SIGILL 4 35 - #define SIGTRAP 5 36 - #define SIGABRT 6 37 - #define SIGIOT 6 38 - #define SIGBUS 7 39 - #define SIGFPE 8 40 - #define SIGKILL 9 41 - #define SIGUSR1 10 42 - #define SIGSEGV 11 43 - #define SIGUSR2 12 44 - #define SIGPIPE 13 45 - #define SIGALRM 14 46 - #define SIGTERM 15 47 - #define SIGSTKFLT 16 48 - #define SIGCHLD 17 49 - #define SIGCONT 18 50 - #define SIGSTOP 19 51 - #define SIGTSTP 20 52 - #define SIGTTIN 21 53 - #define SIGTTOU 22 54 - #define SIGURG 23 55 - #define SIGXCPU 24 56 - #define SIGXFSZ 25 57 - #define SIGVTALRM 26 58 - #define SIGPROF 27 59 - #define SIGWINCH 28 60 - #define SIGIO 29 61 - #define SIGPOLL SIGIO 62 - /* 63 - #define SIGLOST 29 64 - */ 65 - #define SIGPWR 30 66 - #define SIGSYS 31 67 - #define SIGUNUSED 31 68 - 69 - /* These should not be considered constants from userland. */ 70 - #define SIGRTMIN 32 71 - #define SIGRTMAX (_NSIG-1) 72 - 73 - /* 74 - * SA_FLAGS values: 75 - * 76 - * SA_ONSTACK indicates that a registered stack_t will be used. 77 - * SA_RESTART flag to get restarting signals (which were the default long ago) 78 - * SA_NOCLDSTOP flag to turn off SIGCHLD when children stop. 79 - * SA_RESETHAND clears the handler when the signal is delivered. 80 - * SA_NOCLDWAIT flag on SIGCHLD to inhibit zombies. 81 - * SA_NODEFER prevents the current signal from being masked in the handler. 82 - * 83 - * SA_ONESHOT and SA_NOMASK are the historical Linux names for the Single 84 - * Unix names RESETHAND and NODEFER respectively. 85 - */ 86 - #define SA_NOCLDSTOP 0x00000001 87 - #define SA_NOCLDWAIT 0x00000002 /* not supported yet */ 88 - #define SA_SIGINFO 0x00000004 89 - #define SA_ONSTACK 0x08000000 90 - #define SA_RESTART 0x10000000 91 - #define SA_NODEFER 0x40000000 92 - #define SA_RESETHAND 0x80000000 93 - 94 - #define SA_NOMASK SA_NODEFER 95 - #define SA_ONESHOT SA_RESETHAND 96 - 97 - #define SA_RESTORER 0x04000000 98 - 99 - /* 100 - * sigaltstack controls 101 - */ 102 - #define SS_ONSTACK 1 103 - #define SS_DISABLE 2 104 - 105 - #define MINSIGSTKSZ 2048 106 - #define SIGSTKSZ 8192 14 + #define SA_RESTORER 0x04000000 /* to get struct sigaction correct */ 107 15 108 16 #include <asm-generic/signal.h> 109 17 ··· 23 115 __sigrestore_t sa_restorer; 24 116 }; 25 117 26 - struct sigaction { 27 - __sighandler_t sa_handler; 28 - unsigned long sa_flags; 29 - __sigrestore_t sa_restorer; 30 - sigset_t sa_mask; /* mask last for extensibility */ 31 - }; 32 - 33 - struct k_sigaction { 34 - struct sigaction sa; 35 - }; 36 118 #else 37 119 /* Here we must cater to libcs that poke about in kernel headers. */ 38 120 ··· 38 140 39 141 #define sa_handler _u._sa_handler 40 142 #define sa_sigaction _u._sa_sigaction 41 - 42 - #endif /* __KERNEL__ */ 43 - 44 - typedef struct sigaltstack { 45 - void __user *ss_sp; 46 - int ss_flags; 47 - size_t ss_size; 48 - } stack_t; 49 - 50 - #define ptrace_signal_deliver(regs, cookie) do { } while (0) 51 - 52 - #ifdef __KERNEL__ 53 - 54 - #include <asm/sigcontext.h> 55 - #undef __HAVE_ARCH_SIG_BITOPS 56 143 57 144 #endif /* __KERNEL__ */ 58 145