diff options
author | Szabolcs Nagy <nsz@port70.net> | 2016-05-26 22:06:10 +0200 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2016-06-09 13:40:13 -0400 |
commit | 19f87240d5e1d198b4e1115ed8210ae29519f837 (patch) | |
tree | 53503b9653216ccaca2971fc8f778f094723af2a /include | |
parent | 7ea37c7aa40ba4d3d46a4427402dfef09ef0253b (diff) | |
download | musl-19f87240d5e1d198b4e1115ed8210ae29519f837.tar.gz musl-19f87240d5e1d198b4e1115ed8210ae29519f837.tar.bz2 musl-19f87240d5e1d198b4e1115ed8210ae29519f837.tar.xz musl-19f87240d5e1d198b4e1115ed8210ae29519f837.zip |
update siginfo struct for linux v4.6
x86 protection key faults are reported in the si_pkey field,
added in linux commit cd0ea35ff5511cde299a61c21a95889b4a71464e
Diffstat (limited to 'include')
-rw-r--r-- | include/signal.h | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/include/signal.h b/include/signal.h index c6323c61..a16094c5 100644 --- a/include/signal.h +++ b/include/signal.h @@ -74,6 +74,7 @@ typedef struct sigaltstack stack_t; #define SEGV_MAPERR 1 #define SEGV_ACCERR 2 #define SEGV_BNDERR 3 +#define SEGV_PKUERR 4 #define BUS_ADRALN 1 #define BUS_ADRERR 2 @@ -123,10 +124,13 @@ typedef struct { struct { void *si_addr; short si_addr_lsb; - struct { - void *si_lower; - void *si_upper; - } __addr_bnd; + union { + struct { + void *si_lower; + void *si_upper; + } __addr_bnd; + unsigned si_pkey; + } __first; } __sigfault; struct { long si_band; @@ -147,8 +151,9 @@ typedef struct { #define si_value __si_fields.__si_common.__second.si_value #define si_addr __si_fields.__sigfault.si_addr #define si_addr_lsb __si_fields.__sigfault.si_addr_lsb -#define si_lower __si_fields.__sigfault.__addr_bnd.si_lower -#define si_upper __si_fields.__sigfault.__addr_bnd.si_upper +#define si_lower __si_fields.__sigfault.__first.__addr_bnd.si_lower +#define si_upper __si_fields.__sigfault.__first.__addr_bnd.si_upper +#define si_pkey __si_fields.__sigfault.__first.si_pkey #define si_band __si_fields.__sigpoll.si_band #define si_fd __si_fields.__sigpoll.si_fd #define si_timerid __si_fields.__si_common.__first.__timer.si_timerid |