diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2016-08-20 19:50:45 +0200 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2016-08-20 19:50:45 +0200 |
commit | 4dd9e35bfd35d3138bc44169baba098005bad51e (patch) | |
tree | a4939c43a9c3fe00eb27f023e14acc5e1fe8808c /sysdeps/unix/sysv/linux/x86/bits/siginfo.h | |
parent | bd42a4599d1b6f77bcfe1e4f67b7cbd9e1cb2dfd (diff) | |
parent | f76453c31593957fec1a99b986bfa5506618b79c (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.h | 89 |
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). */ |