summaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/x86/bits/siginfo.h
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2016-08-20 19:50:45 +0200
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2016-08-20 19:50:45 +0200
commit4dd9e35bfd35d3138bc44169baba098005bad51e (patch)
treea4939c43a9c3fe00eb27f023e14acc5e1fe8808c /sysdeps/unix/sysv/linux/x86/bits/siginfo.h
parentbd42a4599d1b6f77bcfe1e4f67b7cbd9e1cb2dfd (diff)
parentf76453c31593957fec1a99b986bfa5506618b79c (diff)
Merge commit 'refs/top-bases/t/bigmem' into t/bigmem
Diffstat (limited to 'sysdeps/unix/sysv/linux/x86/bits/siginfo.h')
-rw-r--r--sysdeps/unix/sysv/linux/x86/bits/siginfo.h89
1 files changed, 51 insertions, 38 deletions
diff --git a/sysdeps/unix/sysv/linux/x86/bits/siginfo.h b/sysdeps/unix/sysv/linux/x86/bits/siginfo.h
index 44f293eb20..3151bf3c5a 100644
--- a/sysdeps/unix/sysv/linux/x86/bits/siginfo.h
+++ b/sysdeps/unix/sysv/linux/x86/bits/siginfo.h
@@ -1,5 +1,5 @@
/* siginfo_t, sigevent and constants. Linux x86-64 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -108,6 +108,11 @@ typedef struct
{
void *si_addr; /* Faulting insn/memory ref. */
short int si_addr_lsb; /* Valid LSB of the reported address. */
+ struct
+ {
+ void *_lower;
+ void *_upper;
+ } si_addr_bnd;
} _sigfault;
/* SIGPOLL. */
@@ -141,6 +146,8 @@ typedef struct
# define si_ptr _sifields._rt.si_sigval.sival_ptr
# define si_addr _sifields._sigfault.si_addr
# define si_addr_lsb _sifields._sigfault.si_addr_lsb
+# define si_lower _sifields._sigfault.si_addr_bnd._lower
+# define si_upper _sifields._sigfault.si_addr_bnd._upper
# define si_band _sifields._sigpoll.si_band
# define si_fd _sifields._sigpoll.si_fd
# define si_call_addr _sifields._sigsys._call_addr
@@ -173,114 +180,120 @@ enum
};
+# if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8
/* `si_code' values for SIGILL signal. */
enum
{
ILL_ILLOPC = 1, /* Illegal opcode. */
-# define ILL_ILLOPC ILL_ILLOPC
+# define ILL_ILLOPC ILL_ILLOPC
ILL_ILLOPN, /* Illegal operand. */
-# define ILL_ILLOPN ILL_ILLOPN
+# define ILL_ILLOPN ILL_ILLOPN
ILL_ILLADR, /* Illegal addressing mode. */
-# define ILL_ILLADR ILL_ILLADR
+# define ILL_ILLADR ILL_ILLADR
ILL_ILLTRP, /* Illegal trap. */
-# define ILL_ILLTRP ILL_ILLTRP
+# define ILL_ILLTRP ILL_ILLTRP
ILL_PRVOPC, /* Privileged opcode. */
-# define ILL_PRVOPC ILL_PRVOPC
+# define ILL_PRVOPC ILL_PRVOPC
ILL_PRVREG, /* Privileged register. */
-# define ILL_PRVREG ILL_PRVREG
+# define ILL_PRVREG ILL_PRVREG
ILL_COPROC, /* Coprocessor error. */
-# define ILL_COPROC ILL_COPROC
+# define ILL_COPROC ILL_COPROC
ILL_BADSTK /* Internal stack error. */
-# define ILL_BADSTK ILL_BADSTK
+# define ILL_BADSTK ILL_BADSTK
};
/* `si_code' values for SIGFPE signal. */
enum
{
FPE_INTDIV = 1, /* Integer divide by zero. */
-# define FPE_INTDIV FPE_INTDIV
+# define FPE_INTDIV FPE_INTDIV
FPE_INTOVF, /* Integer overflow. */
-# define FPE_INTOVF FPE_INTOVF
+# define FPE_INTOVF FPE_INTOVF
FPE_FLTDIV, /* Floating point divide by zero. */
-# define FPE_FLTDIV FPE_FLTDIV
+# define FPE_FLTDIV FPE_FLTDIV
FPE_FLTOVF, /* Floating point overflow. */
-# define FPE_FLTOVF FPE_FLTOVF
+# define FPE_FLTOVF FPE_FLTOVF
FPE_FLTUND, /* Floating point underflow. */
-# define FPE_FLTUND FPE_FLTUND
+# define FPE_FLTUND FPE_FLTUND
FPE_FLTRES, /* Floating point inexact result. */
-# define FPE_FLTRES FPE_FLTRES
+# define FPE_FLTRES FPE_FLTRES
FPE_FLTINV, /* Floating point invalid operation. */
-# define FPE_FLTINV FPE_FLTINV
+# define FPE_FLTINV FPE_FLTINV
FPE_FLTSUB /* Subscript out of range. */
-# define FPE_FLTSUB FPE_FLTSUB
+# define FPE_FLTSUB FPE_FLTSUB
};
/* `si_code' values for SIGSEGV signal. */
enum
{
SEGV_MAPERR = 1, /* Address not mapped to object. */
-# define SEGV_MAPERR SEGV_MAPERR
+# define SEGV_MAPERR SEGV_MAPERR
SEGV_ACCERR /* Invalid permissions for mapped object. */
-# define SEGV_ACCERR SEGV_ACCERR
+# define SEGV_ACCERR SEGV_ACCERR
};
/* `si_code' values for SIGBUS signal. */
enum
{
BUS_ADRALN = 1, /* Invalid address alignment. */
-# define BUS_ADRALN BUS_ADRALN
+# define BUS_ADRALN BUS_ADRALN
BUS_ADRERR, /* Non-existant physical address. */
-# define BUS_ADRERR BUS_ADRERR
+# define BUS_ADRERR BUS_ADRERR
BUS_OBJERR, /* Object specific hardware error. */
-# define BUS_OBJERR BUS_OBJERR
+# define BUS_OBJERR BUS_OBJERR
BUS_MCEERR_AR, /* Hardware memory error: action required. */
-# define BUS_MCEERR_AR BUS_MCEERR_AR
+# define BUS_MCEERR_AR BUS_MCEERR_AR
BUS_MCEERR_AO /* Hardware memory error: action optional. */
-# define BUS_MCEERR_AO BUS_MCEERR_AO
+# define BUS_MCEERR_AO BUS_MCEERR_AO
};
+# endif
+# ifdef __USE_XOPEN_EXTENDED
/* `si_code' values for SIGTRAP signal. */
enum
{
TRAP_BRKPT = 1, /* Process breakpoint. */
-# define TRAP_BRKPT TRAP_BRKPT
+# define TRAP_BRKPT TRAP_BRKPT
TRAP_TRACE /* Process trace trap. */
-# define TRAP_TRACE TRAP_TRACE
+# define TRAP_TRACE TRAP_TRACE
};
+# endif
+# if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8
/* `si_code' values for SIGCHLD signal. */
enum
{
CLD_EXITED = 1, /* Child has exited. */
-# define CLD_EXITED CLD_EXITED
+# define CLD_EXITED CLD_EXITED
CLD_KILLED, /* Child was killed. */
-# define CLD_KILLED CLD_KILLED
+# define CLD_KILLED CLD_KILLED
CLD_DUMPED, /* Child terminated abnormally. */
-# define CLD_DUMPED CLD_DUMPED
+# define CLD_DUMPED CLD_DUMPED
CLD_TRAPPED, /* Traced child has trapped. */
-# define CLD_TRAPPED CLD_TRAPPED
+# define CLD_TRAPPED CLD_TRAPPED
CLD_STOPPED, /* Child has stopped. */
-# define CLD_STOPPED CLD_STOPPED
+# define CLD_STOPPED CLD_STOPPED
CLD_CONTINUED /* Stopped child has continued. */
-# define CLD_CONTINUED CLD_CONTINUED
+# define CLD_CONTINUED CLD_CONTINUED
};
/* `si_code' values for SIGPOLL signal. */
enum
{
POLL_IN = 1, /* Data input available. */
-# define POLL_IN POLL_IN
+# define POLL_IN POLL_IN
POLL_OUT, /* Output buffers available. */
-# define POLL_OUT POLL_OUT
+# define POLL_OUT POLL_OUT
POLL_MSG, /* Input message available. */
-# define POLL_MSG POLL_MSG
+# define POLL_MSG POLL_MSG
POLL_ERR, /* I/O error. */
-# define POLL_ERR POLL_ERR
+# define POLL_ERR POLL_ERR
POLL_PRI, /* High priority input available. */
-# define POLL_PRI POLL_PRI
+# define POLL_PRI POLL_PRI
POLL_HUP /* Device disconnected. */
-# define POLL_HUP POLL_HUP
+# define POLL_HUP POLL_HUP
};
+# endif
# undef __need_siginfo_t
#endif /* !have siginfo_t && (have _SIGNAL_H || need siginfo_t). */