summaryrefslogtreecommitdiffstats
path: root/include/uapi/asm-generic/siginfo.h
diff options
context:
space:
mode:
authorEric W. Biederman <ebiederm@xmission.com>2018-01-14 01:57:14 +0100
committerEric W. Biederman <ebiederm@xmission.com>2018-01-16 00:42:33 +0100
commitac54058d778b766dbdf576f5e30122652378ae98 (patch)
tree0d6649cbb36dd6e17477046e28d7f7f693abee39 /include/uapi/asm-generic/siginfo.h
parentsignal/powerpc: Remove redefinition of NSIGTRAP on powerpc (diff)
downloadlinux-ac54058d778b766dbdf576f5e30122652378ae98.tar.xz
linux-ac54058d778b766dbdf576f5e30122652378ae98.zip
signal/ia64: Move the ia64 specific si_codes to asm-generic/siginfo.h
Having si_codes in many different files simply encourages duplicate definitions that can cause problems later. To avoid that merge the ia64 specific si_codes into uapi/asm-generic/siginfo.h Update the sanity checks in arch/x86/kernel/signal_compat.c to expect the now lager NSIGILL and NSIGFPE. As nothing excpe the larger count is exposed on x86 no additional code needs to be updated. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
Diffstat (limited to 'include/uapi/asm-generic/siginfo.h')
-rw-r--r--include/uapi/asm-generic/siginfo.h22
1 files changed, 19 insertions, 3 deletions
diff --git a/include/uapi/asm-generic/siginfo.h b/include/uapi/asm-generic/siginfo.h
index eef4d778a5d4..2f0ae4607603 100644
--- a/include/uapi/asm-generic/siginfo.h
+++ b/include/uapi/asm-generic/siginfo.h
@@ -186,7 +186,12 @@ typedef struct siginfo {
#define ILL_PRVREG 6 /* privileged register */
#define ILL_COPROC 7 /* coprocessor error */
#define ILL_BADSTK 8 /* internal stack error */
-#define NSIGILL 8
+#ifdef __ia64__
+# define ILL_BADIADDR 9 /* unimplemented instruction address */
+# define __ILL_BREAK 10 /* illegal break */
+# define __ILL_BNDMOD 11 /* bundle-update (modification) in progress */
+#endif
+#define NSIGILL 11
/*
* SIGFPE si_codes
@@ -199,7 +204,14 @@ typedef struct siginfo {
#define FPE_FLTRES 6 /* floating point inexact result */
#define FPE_FLTINV 7 /* floating point invalid operation */
#define FPE_FLTSUB 8 /* subscript out of range */
-#define NSIGFPE 8
+#ifdef __ia64__
+# define __FPE_DECOVF 9 /* decimal overflow */
+# define __FPE_DECDIV 10 /* decimal division by zero */
+# define __FPE_DECERR 11 /* packed decimal error */
+# define __FPE_INVASC 12 /* invalid ASCII digit */
+# define __FPE_INVDEC 13 /* invalid decimal digit */
+#endif
+#define NSIGFPE 13
/*
* SIGSEGV si_codes
@@ -207,7 +219,11 @@ typedef struct siginfo {
#define SEGV_MAPERR 1 /* address not mapped to object */
#define SEGV_ACCERR 2 /* invalid permissions for mapped object */
#define SEGV_BNDERR 3 /* failed address bound checks */
-#define SEGV_PKUERR 4 /* failed protection key checks */
+#ifdef __ia64__
+# define __SEGV_PSTKOVF 4 /* paragraph stack overflow */
+#else
+# define SEGV_PKUERR 4 /* failed protection key checks */
+#endif
#define NSIGSEGV 4
/*