diff options
author | Timo Teräs <timo.teras@iki.fi> | 2013-12-25 13:33:46 +0200 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2013-12-29 21:55:21 -0500 |
commit | 7e10f209fbc26a5179a4c0817c986e7c7bd327c9 (patch) | |
tree | 4b3bf4812cb50c5d5282cdc7c2ca9f8669bc95cb | |
parent | 18144af297e7aa3a0f121262dba569446de6191a (diff) | |
download | musl-7e10f209fbc26a5179a4c0817c986e7c7bd327c9.tar.gz musl-7e10f209fbc26a5179a4c0817c986e7c7bd327c9.tar.xz musl-7e10f209fbc26a5179a4c0817c986e7c7bd327c9.zip |
fix struct signalfd_siginfo
ssi_ptr is really 64-bit in kernel, so fix that. assuming sizeof(void*) for it also caused incorrect padding for 32-bits, as the following 64-bits are aligned to 64-bits (and the padding was not taken into account), so fix the padding as well. add addr_lsb field while there.
-rw-r--r-- | include/sys/signalfd.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/include/sys/signalfd.h b/include/sys/signalfd.h index 4f3d3999..55431b91 100644 --- a/include/sys/signalfd.h +++ b/include/sys/signalfd.h @@ -30,11 +30,12 @@ struct signalfd_siginfo { uint32_t ssi_trapno; int32_t ssi_status; int32_t ssi_int; - uintptr_t ssi_ptr; + uint64_t ssi_ptr; uint64_t ssi_utime; uint64_t ssi_stime; uint64_t ssi_addr; - uint8_t pad[128-12*4-sizeof(void *)-3*8]; + uint16_t ssi_addr_lsb; + uint8_t pad[128-12*4-4*8-2]; }; #ifdef __cplusplus |