summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libc-test/build.rs5
-rw-r--r--libc-test/semver/redox.txt3
-rw-r--r--src/unix/redox/mod.rs7
3 files changed, 14 insertions, 1 deletions
diff --git a/libc-test/build.rs b/libc-test/build.rs
index b9b3cbd27c..7df612655e 100644
--- a/libc-test/build.rs
+++ b/libc-test/build.rs
@@ -2276,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,
}
});
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/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! {