From 81a780439bd11e689c0f02c58d2571126151ebb1 Mon Sep 17 00:00:00 2001 From: Josh Megnauth Date: Mon, 3 Aug 2026 14:49:57 -0400 Subject: [PATCH] redox: clock_settime, pause Related: bytecodealliance/rustix#1638 clock_settime: https://gitlab.redox-os.org/redox-os/relibc/-/blob/3628bf4677029f0a3186f7d859789a573c47a334/src/header/time/mod.rs#L301 pause: https://gitlab.redox-os.org/redox-os/relibc/-/blob/b3d55c929ed11f276310b32659d0171e063b8448/src/header/unistd/mod.rs#L851 --- libc-test/semver/redox.txt | 2 ++ src/unix/mod.rs | 10 +++++----- src/unix/redox/mod.rs | 1 + 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/libc-test/semver/redox.txt b/libc-test/semver/redox.txt index e305cb9a442c..8753284191f4 100644 --- a/libc-test/semver/redox.txt +++ b/libc-test/semver/redox.txt @@ -301,6 +301,7 @@ chroot clearerr clock_getres clock_gettime +clock_settime difftime dirfd endgrent @@ -353,6 +354,7 @@ open_memstream open_wmemstream openat openpty +pause pipe2 pthread_condattr_setclock qsort diff --git a/src/unix/mod.rs b/src/unix/mod.rs index 75f7a965ab3a..0c95d495ecf9 100644 --- a/src/unix/mod.rs +++ b/src/unix/mod.rs @@ -1180,6 +1180,11 @@ extern "C" { #[cfg_attr(gnu_file_offset_bits64, link_name = "lseek64")] pub fn lseek(fd: c_int, offset: off_t, whence: c_int) -> off_t; pub fn pathconf(path: *const c_char, name: c_int) -> c_long; + #[cfg_attr( + all(target_os = "macos", target_arch = "x86"), + link_name = "pause$UNIX2003" + )] + pub fn pause() -> c_int; pub fn pipe(fds: *mut c_int) -> c_int; pub fn posix_memalign(memptr: *mut *mut c_void, align: size_t, size: size_t) -> c_int; pub fn aligned_alloc(alignment: size_t, size: size_t) -> *mut c_void; @@ -2256,11 +2261,6 @@ cfg_if! { if #[cfg(not(target_os = "redox"))] { extern "C" { pub fn getsid(pid: pid_t) -> pid_t; - #[cfg_attr( - all(target_os = "macos", target_arch = "x86"), - link_name = "pause$UNIX2003" - )] - pub fn pause() -> c_int; #[cfg_attr( all(target_os = "macos", any(target_arch = "x86", target_arch = "x86_64")), link_name = "readdir_r$INODE64" diff --git a/src/unix/redox/mod.rs b/src/unix/redox/mod.rs index b71906f123fe..e5001f9c7e40 100644 --- a/src/unix/redox/mod.rs +++ b/src/unix/redox/mod.rs @@ -1443,6 +1443,7 @@ extern "C" { pub fn gettimeofday(tp: *mut crate::timeval, tz: *mut crate::timezone) -> c_int; pub fn clock_getres(clk_id: crate::clockid_t, tp: *mut crate::timespec) -> c_int; pub fn clock_gettime(clk_id: crate::clockid_t, tp: *mut crate::timespec) -> c_int; + pub fn clock_settime(clk_id: crate::clockid_t, tp: *const crate::timespec) -> c_int; pub fn strftime( s: *mut c_char, max: size_t,