summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libc-test/build.rs8
-rw-r--r--libc-test/semver/android.txt6
-rw-r--r--libc-test/semver/linux.txt6
-rw-r--r--libc-test/semver/redox.txt3
-rw-r--r--src/unix/haiku/mod.rs13
-rw-r--r--src/unix/linux_like/android/mod.rs8
-rw-r--r--src/unix/linux_like/linux/mod.rs8
-rw-r--r--src/unix/redox/mod.rs7
-rw-r--r--triagebot.toml2
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]