diff options
author | gnzlbg <gnzlbg@users.noreply.github.com> | 2018-11-10 08:53:18 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-11-10 08:53:18 +0100 |
commit | 5d3025b3c9545cafe143cca77b5206709ad97edc (patch) | |
tree | 11030182c0c1cf527cf92e225cb28c82515bedf8 | |
parent | 9c5e70ae306463a23ec02179ac2c9fe05c3fb44e (diff) | |
parent | 24752782efbda21bd0b206c33326bf425e6ce694 (diff) | |
download | rust-libc-5d3025b3c9545cafe143cca77b5206709ad97edc.tar.gz |
Merge pull request #1121 from smibarber/signalfd-sigsys
Add support for SIGSYS in signalfd
-rw-r--r-- | libc-test/build.rs | 8 | ||||
-rw-r--r-- | src/fuchsia/mod.rs | 7 | ||||
-rw-r--r-- | src/unix/notbsd/android/mod.rs | 6 | ||||
-rw-r--r-- | src/unix/notbsd/emscripten.rs | 7 | ||||
-rw-r--r-- | src/unix/notbsd/linux/mod.rs | 7 | ||||
-rw-r--r-- | src/unix/uclibc/mod.rs | 7 |
6 files changed, 36 insertions, 6 deletions
diff --git a/libc-test/build.rs b/libc-test/build.rs index be148b83fb..6723b2723a 100644 --- a/libc-test/build.rs +++ b/libc-test/build.rs @@ -841,7 +841,13 @@ fn main() { // musl seems to define this as an *anonymous* bitfield (musl && struct_ == "statvfs" && field == "__f_unused") || // sigev_notify_thread_id is actually part of a sigev_un union - (struct_ == "sigevent" && field == "sigev_notify_thread_id") + (struct_ == "sigevent" && field == "sigev_notify_thread_id") || + // signalfd had SIGSYS fields added in Linux 4.18, but no libc release has them yet. + (struct_ == "signalfd_siginfo" && (field == "ssi_addr_lsb" || + field == "_pad2" || + field == "ssi_syscall" || + field == "ssi_call_addr" || + field == "ssi_arch")) }); cfg.fn_cname(move |name, cname| { diff --git a/src/fuchsia/mod.rs b/src/fuchsia/mod.rs index 0b93d84af3..7c1d1a4976 100644 --- a/src/fuchsia/mod.rs +++ b/src/fuchsia/mod.rs @@ -685,7 +685,12 @@ s! { pub ssi_utime: ::uint64_t, pub ssi_stime: ::uint64_t, pub ssi_addr: ::uint64_t, - _pad: [::uint8_t; 48], + pub ssi_addr_lsb: ::uint16_t, + _pad2: ::uint16_t, + pub ssi_syscall: ::int32_t, + pub ssi_call_addr: ::uint64_t, + pub ssi_arch: ::uint32_t, + _pad: [::uint8_t; 28], } pub struct itimerspec { diff --git a/src/unix/notbsd/android/mod.rs b/src/unix/notbsd/android/mod.rs index 5b750b2b11..70052e1966 100644 --- a/src/unix/notbsd/android/mod.rs +++ b/src/unix/notbsd/android/mod.rs @@ -177,7 +177,11 @@ s! { pub ssi_stime: ::c_ulonglong, pub ssi_addr: ::c_ulonglong, pub ssi_addr_lsb: ::uint16_t, - _pad: [::uint8_t; 46], + _pad2: ::uint16_t, + pub ssi_syscall: ::int32_t, + pub ssi_call_addr: ::uint64_t, + pub ssi_arch: ::uint32_t, + _pad: [::uint8_t; 28], } pub struct ucred { diff --git a/src/unix/notbsd/emscripten.rs b/src/unix/notbsd/emscripten.rs index b30fee3232..e680032cc7 100644 --- a/src/unix/notbsd/emscripten.rs +++ b/src/unix/notbsd/emscripten.rs @@ -184,7 +184,12 @@ s! { pub ssi_utime: ::uint64_t, pub ssi_stime: ::uint64_t, pub ssi_addr: ::uint64_t, - _pad: [::uint8_t; 48], + pub ssi_addr_lsb: ::uint16_t, + _pad2: ::uint16_t, + pub ssi_syscall: ::int32_t, + pub ssi_call_addr: ::uint64_t, + pub ssi_arch: ::uint32_t, + _pad: [::uint8_t; 28], } pub struct fsid_t { diff --git a/src/unix/notbsd/linux/mod.rs b/src/unix/notbsd/linux/mod.rs index 1e1a66709c..a47e809c24 100644 --- a/src/unix/notbsd/linux/mod.rs +++ b/src/unix/notbsd/linux/mod.rs @@ -270,7 +270,12 @@ s! { pub ssi_utime: ::uint64_t, pub ssi_stime: ::uint64_t, pub ssi_addr: ::uint64_t, - _pad: [::uint8_t; 48], + pub ssi_addr_lsb: ::uint16_t, + _pad2: ::uint16_t, + pub ssi_syscall: ::int32_t, + pub ssi_call_addr: ::uint64_t, + pub ssi_arch: ::uint32_t, + _pad: [::uint8_t; 28], } pub struct itimerspec { diff --git a/src/unix/uclibc/mod.rs b/src/unix/uclibc/mod.rs index 5a947fddd6..03a8594f4f 100644 --- a/src/unix/uclibc/mod.rs +++ b/src/unix/uclibc/mod.rs @@ -391,7 +391,12 @@ s! { pub ssi_utime: ::uint64_t, pub ssi_stime: ::uint64_t, pub ssi_addr: ::uint64_t, - _pad: [::uint8_t; 48], + pub ssi_addr_lsb: ::uint16_t, + _pad2: ::uint16_t, + pub ssi_syscall: ::int32_t, + pub ssi_call_addr: ::uint64_t, + pub ssi_arch: ::uint32_t, + _pad: [::uint8_t; 28], } pub struct fsid_t { |