diff options
-rw-r--r-- | libc-test/build.rs | 8 | ||||
-rw-r--r-- | libc-test/semver/android.txt | 6 | ||||
-rw-r--r-- | libc-test/semver/linux.txt | 6 | ||||
-rw-r--r-- | libc-test/semver/redox.txt | 3 | ||||
-rw-r--r-- | src/unix/haiku/mod.rs | 13 | ||||
-rw-r--r-- | src/unix/linux_like/android/mod.rs | 8 | ||||
-rw-r--r-- | src/unix/linux_like/linux/mod.rs | 8 | ||||
-rw-r--r-- | src/unix/redox/mod.rs | 7 | ||||
-rw-r--r-- | triagebot.toml | 2 |
9 files changed, 60 insertions, 1 deletions
diff --git a/libc-test/build.rs b/libc-test/build.rs index 33558a9345..7df612655e 100644 --- a/libc-test/build.rs +++ b/libc-test/build.rs @@ -1631,6 +1631,7 @@ fn test_android(target: &str) { "linux/if_link.h", "linux/rtnetlink.h", "linux/if_tun.h", + "linux/kexec.h", "linux/magic.h", "linux/membarrier.h", "linux/memfd.h", @@ -2275,10 +2276,13 @@ fn test_freebsd(target: &str) { // Added in FreeBSD 14 "IFCAP_NV" if Some(14) > freebsd_ver => true, - // Removed in https://reviews.freebsd.org/D38574 and https://reviews.freebsd.org/D38822 + // FIXME: Removed in https://reviews.freebsd.org/D38574 and https://reviews.freebsd.org/D38822 // We maybe should deprecate them once a stable release ships them. "IP_BINDMULTI" | "IP_RSS_LISTEN_BUCKET" => true, + // FIXME: Removed in https://reviews.freebsd.org/D39127. + "KERN_VNODE" => true, + _ => false, } }); @@ -3250,6 +3254,7 @@ fn test_linux(target: &str) { "linux/if_tun.h", "linux/input.h", "linux/ipv6.h", + "linux/kexec.h", "linux/keyctl.h", "linux/magic.h", "linux/memfd.h", @@ -3464,6 +3469,7 @@ fn test_linux(target: &str) { || name.starts_with("F_") || name.starts_with("FALLOC_FL_") || name.starts_with("IFLA_") + || name.starts_with("KEXEC_") || name.starts_with("MS_") || name.starts_with("MSG_") || name.starts_with("OPEN_TREE_") diff --git a/libc-test/semver/android.txt b/libc-test/semver/android.txt index d0017b846c..16570b0b61 100644 --- a/libc-test/semver/android.txt +++ b/libc-test/semver/android.txt @@ -1032,6 +1032,12 @@ IXANY IXOFF IXON JFFS2_SUPER_MAGIC +KEXEC_ARCH_MASK +KEXEC_FILE_NO_INITRAMFS +KEXEC_FILE_ON_CRASH +KEXEC_FILE_UNLOAD +KEXEC_ON_CRASH +KEXEC_PRESERVE_CONTEXT KEY_CNT KEY_MAX LC_ADDRESS diff --git a/libc-test/semver/linux.txt b/libc-test/semver/linux.txt index cdb0079144..95f8178e5e 100644 --- a/libc-test/semver/linux.txt +++ b/libc-test/semver/linux.txt @@ -1185,6 +1185,12 @@ J1939_PGN_MAX J1939_PGN_PDU1_MAX J1939_PGN_REQUEST KERNEL_VERSION +KEXEC_ARCH_MASK +KEXEC_FILE_NO_INITRAMFS +KEXEC_FILE_ON_CRASH +KEXEC_FILE_UNLOAD +KEXEC_ON_CRASH +KEXEC_PRESERVE_CONTEXT KEYCTL_ASSUME_AUTHORITY KEYCTL_CHOWN KEYCTL_CLEAR diff --git a/libc-test/semver/redox.txt b/libc-test/semver/redox.txt index 4169bb79a2..7751939311 100644 --- a/libc-test/semver/redox.txt +++ b/libc-test/semver/redox.txt @@ -186,6 +186,7 @@ epoll_create1 epoll_ctl epoll_event epoll_wait +explicit_bzero fchdir fmemopen getline @@ -207,6 +208,8 @@ setrlimit setservent strcasecmp strcasestr +strlcat +strlcpy strncasecmp strndup strsignal diff --git a/src/unix/haiku/mod.rs b/src/unix/haiku/mod.rs index 89f8806eb4..e484ac4f49 100644 --- a/src/unix/haiku/mod.rs +++ b/src/unix/haiku/mod.rs @@ -2030,6 +2030,19 @@ extern "C" { pub fn sl_add(sl: *mut StringList, n: *mut ::c_char) -> ::c_int; pub fn sl_free(sl: *mut StringList, i: ::c_int); pub fn sl_find(sl: *mut StringList, n: *mut ::c_char) -> *mut ::c_char; + + pub fn getprogname() -> *const ::c_char; + pub fn setprogname(progname: *const ::c_char); +} + +#[link(name = "unix")] +extern "C" { + pub fn memmem( + source: *const ::c_void, + sourceLength: ::size_t, + search: *const ::c_void, + searchLength: ::size_t, + ) -> *mut ::c_void; } cfg_if! { diff --git a/src/unix/linux_like/android/mod.rs b/src/unix/linux_like/android/mod.rs index ca2938ac22..e2fa0826f2 100644 --- a/src/unix/linux_like/android/mod.rs +++ b/src/unix/linux_like/android/mod.rs @@ -1606,6 +1606,14 @@ pub const AI_ADDRCONFIG: ::c_int = 0x00000400; pub const AI_V4MAPPED: ::c_int = 0x00000800; pub const AI_DEFAULT: ::c_int = AI_V4MAPPED_CFG | AI_ADDRCONFIG; +// linux/kexec.h +pub const KEXEC_ON_CRASH: ::c_int = 0x00000001; +pub const KEXEC_PRESERVE_CONTEXT: ::c_int = 0x00000002; +pub const KEXEC_ARCH_MASK: ::c_int = 0xffff0000; +pub const KEXEC_FILE_UNLOAD: ::c_int = 0x00000001; +pub const KEXEC_FILE_ON_CRASH: ::c_int = 0x00000002; +pub const KEXEC_FILE_NO_INITRAMFS: ::c_int = 0x00000004; + pub const LINUX_REBOOT_MAGIC1: ::c_int = 0xfee1dead; pub const LINUX_REBOOT_MAGIC2: ::c_int = 672274793; pub const LINUX_REBOOT_MAGIC2A: ::c_int = 85072278; diff --git a/src/unix/linux_like/linux/mod.rs b/src/unix/linux_like/linux/mod.rs index 1d272d601d..36b2d7878e 100644 --- a/src/unix/linux_like/linux/mod.rs +++ b/src/unix/linux_like/linux/mod.rs @@ -3550,6 +3550,14 @@ pub fn FUTEX_OP(op: ::c_int, oparg: ::c_int, cmp: ::c_int, cmparg: ::c_int) -> : ((op & 0xf) << 28) | ((cmp & 0xf) << 24) | ((oparg & 0xfff) << 12) | (cmparg & 0xfff) } +// linux/kexec.h +pub const KEXEC_ON_CRASH: ::c_int = 0x00000001; +pub const KEXEC_PRESERVE_CONTEXT: ::c_int = 0x00000002; +pub const KEXEC_ARCH_MASK: ::c_int = 0xffff0000; +pub const KEXEC_FILE_UNLOAD: ::c_int = 0x00000001; +pub const KEXEC_FILE_ON_CRASH: ::c_int = 0x00000002; +pub const KEXEC_FILE_NO_INITRAMFS: ::c_int = 0x00000004; + // linux/reboot.h pub const LINUX_REBOOT_MAGIC1: ::c_int = 0xfee1dead; pub const LINUX_REBOOT_MAGIC2: ::c_int = 672274793; diff --git a/src/unix/redox/mod.rs b/src/unix/redox/mod.rs index cb4512d8bc..f1bc9cc543 100644 --- a/src/unix/redox/mod.rs +++ b/src/unix/redox/mod.rs @@ -1043,6 +1043,10 @@ extern "C" { pub fn pthread_cancel(thread: ::pthread_t) -> ::c_int; pub fn pthread_kill(thread: ::pthread_t, sig: ::c_int) -> ::c_int; + // string.h + pub fn strlcat(dst: *mut ::c_char, src: *const ::c_char, siz: ::size_t) -> ::size_t; + pub fn strlcpy(dst: *mut ::c_char, src: *const ::c_char, siz: ::size_t) -> ::size_t; + // sys/epoll.h pub fn epoll_create(size: ::c_int) -> ::c_int; pub fn epoll_create1(flags: ::c_int) -> ::c_int; @@ -1093,6 +1097,9 @@ extern "C" { // time.h pub fn gettimeofday(tp: *mut ::timeval, tz: *mut ::timezone) -> ::c_int; pub fn clock_gettime(clk_id: ::clockid_t, tp: *mut ::timespec) -> ::c_int; + + // strings.h + pub fn explicit_bzero(p: *mut ::c_void, len: ::size_t); } cfg_if! { diff --git a/triagebot.toml b/triagebot.toml index 27e3e61288..14256c48de 100644 --- a/triagebot.toml +++ b/triagebot.toml @@ -23,3 +23,5 @@ cc = ["@semarie"] [mentions."src/unix/solarish"] message = "Some changes occurred in solarish module" cc = ["@jclulow", "@pfmooney"] + +[shortcut] |