summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.cirrus.yml2
-rw-r--r--libc-test/semver/linux.txt1
-rw-r--r--libc-test/semver/redox.txt1
-rw-r--r--src/unix/linux_like/android/mod.rs18
-rw-r--r--src/unix/linux_like/linux/arch/generic/mod.rs11
-rw-r--r--src/unix/linux_like/linux/gnu/b32/arm/mod.rs1
-rw-r--r--src/unix/linux_like/mod.rs8
-rw-r--r--src/unix/redox/mod.rs1
-rw-r--r--src/unix/solarish/mod.rs2
9 files changed, 43 insertions, 2 deletions
diff --git a/.cirrus.yml b/.cirrus.yml
index f262e22339..d9fc3c90a8 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -29,7 +29,7 @@ task:
task:
name: nightly x86_64-unknown-freebsd-14
freebsd_instance:
- image_family: freebsd-14-0-snap
+ image: freebsd-14-0-current-amd64-v20230330
setup_script:
- pkg install -y libnghttp2 curl
- curl https://sh.rustup.rs -sSf --output rustup.sh
diff --git a/libc-test/semver/linux.txt b/libc-test/semver/linux.txt
index 178f76d946..27bd9accc2 100644
--- a/libc-test/semver/linux.txt
+++ b/libc-test/semver/linux.txt
@@ -2025,6 +2025,7 @@ RESOLVE_IN_ROOT
RESOLVE_NO_MAGICLINKS
RESOLVE_NO_SYMLINKS
RESOLVE_NO_XDEV
+RLIM64_INFINITY
RLIMIT_AS
RLIMIT_CORE
RLIMIT_CPU
diff --git a/libc-test/semver/redox.txt b/libc-test/semver/redox.txt
index c8f5d400c5..4b6e126ea6 100644
--- a/libc-test/semver/redox.txt
+++ b/libc-test/semver/redox.txt
@@ -194,6 +194,7 @@ getrlimit
getrusage
getservbyport
getservent
+getdtablesize
killpg
lockf
madvise
diff --git a/src/unix/linux_like/android/mod.rs b/src/unix/linux_like/android/mod.rs
index e2fa0826f2..fd4b0593b4 100644
--- a/src/unix/linux_like/android/mod.rs
+++ b/src/unix/linux_like/android/mod.rs
@@ -1579,6 +1579,23 @@ pub const FIONREAD: ::c_int = 0x541B;
pub const TIOCCONS: ::c_int = 0x541D;
pub const TIOCSBRK: ::c_int = 0x5427;
pub const TIOCCBRK: ::c_int = 0x5428;
+cfg_if! {
+ if #[cfg(any(target_arch = "x86",
+ target_arch = "x86_64",
+ target_arch = "arm",
+ target_arch = "aarch64",
+ target_arch = "riscv64",
+ target_arch = "s390x"))] {
+ pub const FICLONE: ::c_int = 0x40049409;
+ pub const FICLONERANGE: ::c_int = 0x4020940D;
+ } else if #[cfg(any(target_arch = "mips",
+ target_arch = "mips64",
+ target_arch = "powerpc",
+ target_arch = "powerpc64"))] {
+ pub const FICLONE: ::c_int = 0x80049409;
+ pub const FICLONERANGE: ::c_int = 0x8020940D;
+ }
+}
pub const ST_RDONLY: ::c_ulong = 1;
pub const ST_NOSUID: ::c_ulong = 2;
@@ -3531,6 +3548,7 @@ extern "C" {
longindex: *mut ::c_int,
) -> ::c_int;
+ pub fn sync();
pub fn syncfs(fd: ::c_int) -> ::c_int;
}
diff --git a/src/unix/linux_like/linux/arch/generic/mod.rs b/src/unix/linux_like/linux/arch/generic/mod.rs
index cffe748de9..4693978311 100644
--- a/src/unix/linux_like/linux/arch/generic/mod.rs
+++ b/src/unix/linux_like/linux/arch/generic/mod.rs
@@ -108,9 +108,18 @@ cfg_if! {
cfg_if! {
if #[cfg(any(target_arch = "x86",
target_arch = "x86_64",
- target_arch = "aarch64"))] {
+ target_arch = "arm",
+ target_arch = "aarch64",
+ target_arch = "riscv64",
+ target_arch = "s390x"))] {
pub const FICLONE: ::c_ulong = 0x40049409;
pub const FICLONERANGE: ::c_ulong = 0x4020940D;
+ } else if #[cfg(any(target_arch = "mips",
+ target_arch = "mips64",
+ target_arch = "powerpc",
+ target_arch = "powerpc64"))] {
+ pub const FICLONE: ::c_ulong = 0x80049409;
+ pub const FICLONERANGE: ::c_ulong = 0x8020940D;
}
}
// pub const SO_PREFER_BUSY_POLL: ::c_int = 69;
diff --git a/src/unix/linux_like/linux/gnu/b32/arm/mod.rs b/src/unix/linux_like/linux/gnu/b32/arm/mod.rs
index ea905eb7ca..fd690a17e1 100644
--- a/src/unix/linux_like/linux/gnu/b32/arm/mod.rs
+++ b/src/unix/linux_like/linux/gnu/b32/arm/mod.rs
@@ -837,6 +837,7 @@ pub const SYS_pkey_alloc: ::c_long = 395;
pub const SYS_pkey_free: ::c_long = 396;
pub const SYS_statx: ::c_long = 397;
pub const SYS_rseq: ::c_long = 398;
+pub const SYS_kexec_file_load: ::c_long = 401;
pub const SYS_pidfd_send_signal: ::c_long = 424;
pub const SYS_io_uring_setup: ::c_long = 425;
pub const SYS_io_uring_enter: ::c_long = 426;
diff --git a/src/unix/linux_like/mod.rs b/src/unix/linux_like/mod.rs
index db57745967..584e308ce2 100644
--- a/src/unix/linux_like/mod.rs
+++ b/src/unix/linux_like/mod.rs
@@ -557,6 +557,14 @@ pub const XATTR_CREATE: ::c_int = 0x1;
pub const XATTR_REPLACE: ::c_int = 0x2;
cfg_if! {
+ if #[cfg(target_os = "android")] {
+ pub const RLIM64_INFINITY: ::c_ulonglong = !0;
+ } else {
+ pub const RLIM64_INFINITY: ::rlim64_t = !0;
+ }
+}
+
+cfg_if! {
if #[cfg(target_env = "ohos")] {
pub const LC_CTYPE: ::c_int = 0;
pub const LC_NUMERIC: ::c_int = 1;
diff --git a/src/unix/redox/mod.rs b/src/unix/redox/mod.rs
index 6661ea7358..dec47c610b 100644
--- a/src/unix/redox/mod.rs
+++ b/src/unix/redox/mod.rs
@@ -993,6 +993,7 @@ extern "C" {
// unistd.h
pub fn pipe2(fds: *mut ::c_int, flags: ::c_int) -> ::c_int;
+ pub fn getdtablesize() -> ::c_int;
// malloc.h
pub fn memalign(align: ::size_t, size: ::size_t) -> *mut ::c_void;
diff --git a/src/unix/solarish/mod.rs b/src/unix/solarish/mod.rs
index 88f9cab9d6..12c88f31a1 100644
--- a/src/unix/solarish/mod.rs
+++ b/src/unix/solarish/mod.rs
@@ -3196,6 +3196,8 @@ extern "C" {
longopts: *const option,
longindex: *mut ::c_int,
) -> ::c_int;
+
+ pub fn sync();
}
#[link(name = "sendfile")]